Brendan Hansknecht
dddf8ff785
switch from pair to record and change name to ListReplaceUnsafe
2022-02-24 20:41:26 -08:00
Brendan Hansknecht
27b47713aa
Add some comments and TODOs
2022-02-24 20:40:45 -08:00
Brendan Hansknecht
ba2e8cd32b
Add base piping for list.Replace
2022-02-24 17:58:56 -08:00
Brendan Hansknecht
69b4e78ac7
Add --opt-size and compiling smaller binaries
2022-02-24 15:39:50 -08:00
Richard Feldman
655373dbe7
Merge remote-tracking branch 'origin/trunk' into gui-example
2022-02-23 21:25:01 -05:00
ayazhafiz
2151e715dd
Fix rebased compile error
2022-02-21 14:12:49 -05:00
ayazhafiz
148dbb4efe
Unnecessary reference
2022-02-21 14:10:46 -05:00
ayazhafiz
e52d427ac8
Hash record field name order in generated layouts
...
Closes #2535
See the referenced issue for longer discussion - here's the synopsis.
Consider this program
```
app "test" provides [ nums ] to "./platform"
alpha = { a: 1, b: 2 }
nums : List U8
nums =
[
alpha.a,
alpha.b,
]
```
Here's its IR:
```
procedure : `#UserApp.alpha` {I64, U8}
procedure = `#UserApp.alpha` ():
let `#UserApp.5` : Builtin(Int(I64)) = 1i64;
let `#UserApp.6` : Builtin(Int(U8)) = 2i64;
let `#UserApp.4` : Struct([Builtin(Int(I64)), Builtin(Int(U8))]) = Struct {`#UserApp.5`, `#UserApp.6`};
ret `#UserApp.4`;
procedure : `#UserApp.nums` List U8
procedure = `#UserApp.nums` ():
let `#UserApp.7` : Struct([Builtin(Int(I64)), Builtin(Int(U8))]) = CallByName `#UserApp.alpha`;
let `#UserApp.1` : Builtin(Int(U8)) = StructAtIndex 1 `#UserApp.7`;
let `#UserApp.3` : Struct([Builtin(Int(I64)), Builtin(Int(U8))]) = CallByName `#UserApp.alpha`;
let `#UserApp.2` : Builtin(Int(U8)) = StructAtIndex 1 `#UserApp.3`;
let `#UserApp.0` : Builtin(List(Builtin(Int(U8)))) = Array [`#UserApp.1`, `#UserApp.2`];
ret `#UserApp.0`;
```
What's happening is that we need to specialize `alpha` twice - once for the
type of a narrowed to a U8, another time for the type of b narrowed to a U8.
We do the specialization for alpha.b first - record fields are sorted by
layout, so we generate a record of type {i64, u8}. But then we go to
specialize alpha.a, but this has the same layout - {i64, u8} - so we reuse
the existing one! So (at least for records), we need to include record field
order associated with the sorted layout fields, so that we don't reuse
monomorphizations like this incorrectly!
2022-02-21 14:10:45 -05:00
Folkert
3e413764e2
make llvm gen tests work
2022-02-20 14:25:26 +01:00
Folkert
177529bfb6
all string tests passing
2022-02-20 13:04:12 +01:00
Folkert
1c0d092c48
fix str_to_utf8
2022-02-20 01:10:09 +01:00
Folkert
2c4d0e71a6
fix string repeat tests
2022-02-20 00:47:07 +01:00
Folkert
dea6cfbc8f
various fixes
2022-02-20 00:20:50 +01:00
ayazhafiz
13067f2908
Implement Num.toNNNChecked
...
Closes #2411
2022-02-19 16:20:21 -05:00
ayazhafiz
d90915a8cd
Implement Num.to* builtins
...
Just wrap over Num.intCast
2022-02-19 11:28:41 -05:00
Folkert
3d7254726d
WIP
2022-02-18 23:33:24 +01:00
Folkert
b2e4997cf0
use str/list helpers to prepare for adding capacity
2022-02-18 22:39:51 +01:00
Folkert
6631845a3c
Merge remote-tracking branch 'origin/trunk' into update_zig_09
2022-02-18 22:39:44 +01:00
Folkert
5582644166
use str/list helpers to prepare for adding capacity
2022-02-18 22:23:05 +01:00
hafiz
91483dbf55
Merge pull request #2471 from rtfeldman/fix_args_order
...
Swap arg order in `List` builtins to put the more-complex types first
2022-02-13 23:25:05 -05:00
ayazhafiz
886e4e07f6
Update alias analysis, implementation for List.mapWithIndex
2022-02-13 22:50:27 -05:00
ayazhafiz
6e5c1d5914
Specialize Num.toFloat
for different target float types
...
Closes #2476
2022-02-13 20:20:25 -05:00
Richard Feldman
71f2444397
s/Int/Nat in a comment
2022-02-11 21:26:39 -05:00
Richard Feldman
e1cc4cbde6
Fix comment
2022-02-11 21:25:08 -05:00
Jan Van Bruggen
f47dbb5171
Swap List.mapWithIndex arg1 args order to put the element first
2022-02-11 16:10:29 -07:00
Jan Van Bruggen
92e0f8714f
Swap List.repeat args order to put the list first
2022-02-11 16:10:29 -07:00
rvcas
0124e4d4b1
Merge branch 'trunk' into update_zig_09
2022-02-09 18:42:24 -05:00
ayazhafiz
1a1eaf7f68
Normalize c/Roc callconv parameters when C returns by pointer
...
Closes #2413
2022-02-06 21:57:14 -05:00
Richard Feldman
f8fc9cf577
Reproduce code gen crash
2022-02-06 07:39:16 -05:00
Richard Feldman
a8e3d5f9b6
Merge remote-tracking branch 'origin/trunk' into expect-dont-panic
2022-02-03 22:25:40 -05:00
Richard Feldman
9dea0e3a04
Automatically deallocate Failures in Rust
2022-02-03 22:17:53 -05:00
ayazhafiz
097c5afc73
Check lower bounds for numeric literals, and permit 128-bit literals
2022-02-02 23:35:57 -05:00
Richard Feldman
3e9eef4d0e
Add some TODO comments
2022-02-02 18:47:18 -05:00
Richard Feldman
dd8f63b1ab
Add some #[repr(C)] annotations
2022-02-02 18:47:02 -05:00
Richard Feldman
15969af53c
Use constant over string literal
2022-02-01 20:44:02 -05:00
Richard Feldman
e65e6c97d1
Use constant instead of hardcoded string
2022-02-01 09:17:28 -05:00
Richard Feldman
a55ff62e6c
Merge remote-tracking branch 'origin/trunk' into expect-dont-panic
2022-01-30 20:22:26 -05:00
Chelsea Troy
4f8d0776b3
We got a test working for panicking with the appropriate number fo failures. Ultimatly we want:
...
+ An error maessage that says what the failures were
+ Not panicking (so these are effectively error productions)
2022-01-30 18:55:09 -06:00
Brian Carroll
d7f10d80ae
repl: Change LLVM macro to use address instead of pointer
2022-01-29 11:24:13 +00:00
Folkert
684b873453
change name back ?!
2022-01-27 23:20:35 +01:00
Folkert
ee151c8f94
fix function name
2022-01-27 22:26:44 +01:00
Folkert
e31532360b
don't remove argument that is not pushed
2022-01-27 21:20:46 +01:00
Folkert
3ade77374a
Merge remote-tracking branch 'origin/trunk' into add_loop_examples
2022-01-27 16:49:47 +01:00
Folkert
7e28d557ec
improve how we generate the mainForHost function
2022-01-26 21:08:45 -07:00
Folkert
afd11e1cb1
move target -> roc_target
2022-01-26 23:33:29 +01:00
Folkert
0298013346
fix logical error
2022-01-26 17:03:49 +01:00
Folkert
c663a35e16
final phase
2022-01-26 15:44:24 +01:00
Folkert
74932a4cab
phase 2
2022-01-26 14:30:37 +01:00
Folkert
7e90812332
ptr_bytes -> target info, step 1
2022-01-26 14:28:26 +01:00
Mats Sigge
71f359fbdc
Move macros from roc_reporting to new roc_error_macros module
...
The `internal_error!` and `user_error!´ macros can't be used everywhere
when they live in `roc_reporting` due to circular dependencies.
2022-01-23 18:40:04 +01:00
Richard Feldman
638c56442c
Delete commented-out line
2022-01-22 22:41:41 -05:00
Folkert
38b03282fd
working version of joinpoints with phi nodes
2022-01-23 00:46:32 +01:00
Folkert
7baec2b201
make tag allocas at the function entry point block
2022-01-23 00:21:18 +01:00
Chelsea Troy
085c02ffee
Infrastructure to test and implement the replacement of an 'expect' failure with an error production
...
Last command run was 'cargo test expect_fail'
2022-01-16 22:01:22 -06:00
Richard Feldman
f83f50a9a7
Merge pull request #2337 from rtfeldman/i/2331
...
Use unsigned LLVM intrinsic arithmetic for unsigned integers
2022-01-12 08:29:30 -05:00
Folkert
1b149d215d
pass pointer to C as first argument
2022-01-11 22:08:58 +01:00
Folkert
b2e05b92d1
make fastcc wrapper return by pointer if return type is large
2022-01-11 21:03:57 +01:00
ayazhafiz
2c41c43aea
Implement saturated add/subtract
2022-01-10 22:37:08 -05:00
ayazhafiz
abe42781d5
Use unsigned LLVM intrinsic arithmetic for unsigned integers
...
Closes #2331
2022-01-10 19:20:51 -05:00
rvcas
d2f95bde63
chore(StrToNum): layout is always a Struct, we don't need the Union case
2022-01-03 18:15:46 -05:00
Chelsea Troy
922d8e57c7
trying to see if we have access to our testing modules elsewhere
2022-01-02 22:53:48 -05:00
Brian Carroll
aec8d1bf3d
Merge branch 'trunk' of github.com:rtfeldman/roc into str_to_num
2022-01-02 12:31:59 +00:00
ayazhafiz
983a9f7e17
Position correct basic block before calling error catcher
...
While building the main function for tests, we may need to generate
additional blocks while marshalling arugments to the error catcher into
the expected calling convention. This pushes the last block in the main
function down, so that the "entry" block may not be last BB in the
function. Instead, look up the last insertion block before generating
the catcher, and then add a call to the catcher at the end of this last
block.
Closes #2300
2021-12-30 20:55:43 -06:00
ayazhafiz
f52cca40b5
Dereference small (non recursive) tag unions before storing them elsewhere
...
Closes #2290
2021-12-29 17:55:21 -06:00
ayazhafiz
71bd77e3b2
Handle flat variants of recursive tag unions in repl
2021-12-29 17:55:21 -06:00
ayazhafiz
6da9a58b22
Remove some dead code
2021-12-29 17:55:21 -06:00
rvcas
d0c4072362
fix:(llvm): StrToNum is safer if we match on either a Union or a Struct
2021-12-29 16:26:15 -05:00
rvcas
98045abc4f
Merge branch 'trunk' into update_zig_09
2021-12-29 14:49:27 -05:00
Folkert
d1bf07fdcd
be a bit less string in debug assert
2021-12-28 00:10:26 +01:00
rvcas
49135c6c8b
Merge branch 'trunk' into update_zig_09
2021-12-27 17:27:27 -05:00
ayazhafiz
5e5eb6dca8
(llvm) Generate code for tag unions less than 64 bits in size correctly
...
Previously, we assumed that a union layout always lived on >= 1 64-bit
boundary when generating an LLVM type for it. For small tags unions,
like `[ Ok i8, Err ]` this need not be the case; indeed, a tag union
like that is actually only 2 bits - 1 bit for the "i8" data, and one bit
of the tag kind.
This led to a discrepancy between what the layout IR and generated LLVM
code would assume about the size of tag unions. In the case above, the
layout IR would assume the tag data is 2 bits wide, and the tag id is 1
bit into the data. But the LLVM code would generate a type that was 65
bits wide, the first 64 bits being for the "i8" data and the last 1 bit
being for the tag kind.
Usually, just running the LLVM-emitted code would not present a problem.
But it does present a problem when we use the layout IR to inspect the
result of LLVM-run code, in particular when we try to look up the tag
ID, as the repl does. This patch fixes that issue.
Note that this bug did not present itself in `test_gen` previously
because the data that most tests check against is stored in the front of
the representation.
Closes #2149
2021-12-26 11:45:02 -06:00
rvcas
923c5c7c28
fix(zig): resolve v0.9 compilation issues
2021-12-23 15:33:44 -05:00
Brian Carroll
e847c924dd
Lowlevels: replace RefCountGetPtr with the more general GetPtrAsInt.
2021-12-19 08:29:17 +00:00
Brian Carroll
c5d0a42c20
LLVM backend: set small string flag on empty string
2021-12-16 19:04:36 +00:00
Richard Feldman
ae755d81fa
Merge pull request #2153 from rtfeldman/llvm-build-macros
...
Cleanup dict/list element layout matches
2021-12-12 17:50:29 -05:00
satotake
a7fe2e3e53
Fix llvm Num.toFloat width conversion
...
Close #2156
2021-12-11 08:12:57 +00:00
Brian Carroll
7b6ba79eee
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-tags
2021-12-10 11:48:56 +00:00
Richard Feldman
aab601366e
Merge pull request #2152 from rtfeldman/inkwell-llvm-13
...
update inkwell to ease the llvm13 transition
2021-12-09 19:16:23 -05:00
Richard Feldman
1ce648ac27
Merge pull request #2116 from rtfeldman/str_to_num
...
Str.toNum
2021-12-09 09:48:38 -05:00
Brian Carroll
0220f7d921
Remove an assumption of 64-bit pointer alignment
2021-12-08 20:30:26 +00:00
Folkert
727f2f6e93
cleanup
2021-12-08 21:02:38 +01:00
Folkert
6c5f809678
cleanup
2021-12-08 21:00:53 +01:00
Folkert
40246607aa
update inkwell to ease the llvm13 transition
2021-12-08 19:36:29 +01:00
rvcas
2fa4ecd8ea
chore: clippy clippy clippy can't you see, sometimes your errors hypnotize me
2021-12-06 23:52:29 -05:00
rvcas
b7d48b2fe1
feat: add the rest of the num types for Str conversion
2021-12-06 23:24:02 -05:00
rvcas
bc5b1abcba
feat(Str.toNum): support decimal
2021-12-02 15:35:34 -05:00
Folkert
d6ed2147ae
basic working test case
2021-12-02 20:30:58 +01:00
rvcas
8a21b42c20
feat: check errorcode in returned record for a value greater than 0
2021-12-02 14:06:29 -05:00
rvcas
0d74daf7d9
feat: match on a Union Layout and use index access to get the num layout
2021-12-01 16:25:24 -05:00
Anton-4
e63701c5d1
trying to make Str.toNum work for Ints
2021-12-01 20:37:21 +01:00
Anton-4
2e21fd0cb9
Merge branch 'str-to-num' of github.com:rtfeldman/roc into str_to_num
2021-12-01 19:43:01 +01:00
Anton-4
c63c69f1ef
prep merge with Folkert's branch
2021-12-01 19:42:22 +01:00
Folkert
69fc1ad7e7
sketch of StrToNum
2021-12-01 15:33:16 +01:00
Anton-4
eaf4e57759
started on Str.toNum
2021-12-01 15:15:30 +01:00
Richard Feldman
e6bec46898
Merge pull request #2109 from rtfeldman/refactor-passed-function
...
refactor passed (to higher order lowlevel) funcion
2021-12-01 08:17:39 -05:00
Brian Carroll
a3827d6636
Merge pull request #2071 from rtfeldman/refcount-mono-ir
...
Start generating refcounting code as mono IR
2021-12-01 12:59:16 +00:00
Folkert
bec74c36c5
refactor passed (to higher order lowlevel) funcion
2021-11-30 21:50:27 +01:00
rvcas
f995a07029
feat: Num.toStr
...
* add type for Num.toStr
* create new lowlevel
* delete types and Symbol for fromInt and fromFloat
* leave LowLevel::{StrFromFloat,StrFromInt}
* match on LowLevel::NumToStr and figure out the layout to decide
which build function to delegate to
2021-11-30 14:52:06 -05:00
Brian Carroll
6e5acadfea
Create new lowlevels for refcounting
2021-11-30 09:57:00 +00:00
Brian Carroll
c8278dcb1c
Add a comment on REFCOUNT_MAX
2021-11-30 09:57:00 +00:00
Folkert
0bdda2506c
add update mode to reset and reuse
2021-11-28 14:13:02 +01:00
Richard Feldman
f80409800d
Merge pull request #2091 from rtfeldman/remove-empty-layouts
...
Remove empty layouts
2021-11-27 23:32:15 -05:00
Folkert
79d5c82dfb
cleanup
2021-11-27 16:36:43 +01:00
Folkert
a1fd34feef
remove empty layout types (list,str,dict,set)
2021-11-27 14:05:16 +01:00
Brian Carroll
a9456639c7
Fix a bug in LLVM backend refcounting
2021-11-27 00:10:54 +00:00
Folkert
dc44eaac97
cleanup
2021-11-21 14:11:18 +01:00
Folkert
7d231f87cd
remove usize llvm gen
2021-11-21 13:24:53 +01:00
Folkert
123c963ff1
llvm build working
2021-11-21 00:23:59 +01:00
Folkert
c4ec9aa898
working mono
2021-11-20 23:25:30 +01:00
Folkert de Vries
25a64f4a57
Merge pull request #2032 from rtfeldman/joshuawarner32/internal-linkage
...
Use Internal linkage to keep roc function symbols in the final binary
2021-11-20 12:30:41 +01:00
Joshua Warner
45f9f800ef
Use Internal linkage instead of Private to keep roc function symbols in the final binary
2021-11-19 21:32:34 -08:00
Michael Downey
df91f63af8
changing const_zero to const_int
2021-11-19 07:24:07 -05:00
Michael Downey
51ad326d11
fmt
2021-11-16 17:30:04 -05:00
Michael Downey
d946b84e63
adding initial List.all
2021-11-16 16:34:36 -05:00
Richard Feldman
28273b67da
Merge pull request #1970 from rtfeldman/shrink-call-type
...
Shrink call type
2021-11-15 19:56:21 -08:00
satotake
c253273490
Merge branch 'trunk' into refactor-builtin-list-drop
2021-11-15 11:37:32 +00:00
satotake
8e29daa160
remove low-level List.drop
codes
2021-11-15 11:28:38 +00:00
Folkert
fcb89cbcd8
Merge remote-tracking branch 'origin/trunk' into shrink-call-type
2021-11-13 19:31:30 +01:00
Folkert
f8b4ce0317
shrink tag id sizes in layouts
2021-11-13 19:31:20 +01:00
Theo Felippe
ea5aac7b74
Merge branch 'trunk' into builtins-str-trim-right
2021-11-13 18:05:40 +00:00
Theo Felippe
8d7c252fce
implemented Str.trimRight
2021-11-13 18:02:58 +00:00
Richard Feldman
0b2df3154c
Merge remote-tracking branch 'origin/trunk' into shrink-call-type
2021-11-13 08:21:13 -08:00
Richard Feldman
1c6fab7043
Merge pull request #1916 from rtfeldman/tag-union-imitate-rust
...
Tag union imitate rust
2021-11-13 08:13:32 -08:00
Folkert
f522d28a00
clippy
2021-11-13 16:04:23 +01:00
Folkert
83953b0bba
shrink Call
2021-11-13 15:59:19 +01:00
Folkert
e2f7606f25
shrink higher order with indirection
2021-11-13 15:42:47 +01:00
satotake
9ec2bc7946
Remove takeFirst
and takeLast
from backend
2021-11-13 06:03:18 +00:00
satotake
2e073d57ea
destruct record at high level
2021-11-13 05:13:46 +00:00
satotake
98d2c57edf
move List.sublist to backend
2021-11-13 04:57:28 +00:00
Folkert
196538cc58
fix valgrind error, finally
2021-11-13 01:00:20 +01:00
Folkert
65a9febe7d
clippy
2021-11-11 23:38:45 +01:00
Folkert
38da99b1ac
make it work
2021-11-11 23:36:35 +01:00
Folkert
c827256e47
Merge remote-tracking branch 'origin/trunk' into tag-union-imitate-rust
2021-11-11 18:58:49 +01:00
Folkert
acb26002c8
fix repl
2021-11-10 23:36:16 +01:00
Folkert
5d7b4b7ad0
change roc call result; adding an extra field for the error message pointer
...
When the returned value was smaller than a pointer, there was no space for the error message pointer.
2021-11-10 22:14:54 +01:00
Folkert
33e8f9a6b7
Merge remote-tracking branch 'origin/trunk' into cleanup-im-dependency
2021-11-10 17:19:54 +01:00
Folkert
144dbef434
Merge remote-tracking branch 'origin/trunk' into tag-union-imitate-rust
2021-11-10 17:19:30 +01:00
Folkert
2262dcb3f9
clean up some other dependencies
2021-11-10 16:25:03 +01:00
Folkert
5632e3159d
remove im dependency where not needed
2021-11-10 16:00:22 +01:00
Michael Downey
07cd3850d7
Merge branch 'trunk' into str_trim_left
2021-11-09 19:43:26 -05:00
Michael Downey
c1a48c0a9a
fixing line for cargo fmt
2021-11-09 15:11:36 -05:00
Michael Downey
1f74fd6856
fixing formatting and adding str_trim_left back to solve_expr
2021-11-09 14:57:35 -05:00
Michael Downey
7e074d300e
cleaning up and adding comments
2021-11-09 14:37:31 -05:00
Michael Downey
1bc278d962
initial commit of Str.trimLeft
2021-11-09 14:25:24 -05:00
Folkert
94efbd0e95
Merge remote-tracking branch 'origin/trunk' into builtins-list-take-last
2021-11-09 16:18:19 +01:00
satotake
772fc9c021
Implement List.takeLast
2021-11-09 12:26:17 +00:00
ayazhafiz
f65b174ab5
Implement List.find
...
`List.find : List elem, (elem -> Bool) -> Result elem [ NotFound ]*`
behaves as follows:
```
>>> List.find [1, 2, 3] (\n -> n > 2)
Ok 2
>>> List.find [1, 2, 3] (\n -> n > 4)
Err NotFound
```
We implement this as builtin in two phases. First, we call out to a
pure-llvm-lowlevel `ListFindUnsafe` that returns a record indicating
whether a satisfying element was found, and the value of that element
(the value is all null bytes if the element wasn't found). Then, we lift
that record to a `Result` via a standard construction of the can AST.
Closes #1909
2021-11-08 21:03:14 -05:00
Folkert
7ff4ad6f7b
fix merge conflict
2021-11-08 23:57:56 +01:00
Folkert
a9d483cb60
Merge remote-tracking branch 'origin/trunk' into tag-union-imitate-rust
2021-11-08 22:31:17 +01:00
Folkert
8266284567
clippy
2021-11-08 22:31:08 +01:00
satotake
d0b09e1922
cleanup unused args
2021-11-08 14:31:34 +00:00
satotake
878400f95f
Implement List.takeFirst
2021-11-08 14:10:53 +00:00
Richard Feldman
0a347456ef
Merge pull request #1903 from rtfeldman/fix-str-from-int
...
Implement Str.fromInt for any integer type
2021-11-07 23:42:59 +00:00
Folkert
e7ec575a81
trying to track down uninitialized memory creation
2021-11-07 21:41:12 +01:00
Kevin Sjöberg
87894578cf
Remove alignment parameter
2021-11-07 20:48:09 +01:00
Kevin Sjöberg
5e1a9832cb
Return false in case of empty list
2021-11-07 20:47:09 +01:00
Kevin Sjöberg
44938a9e35
Implement List.any
2021-11-07 20:44:10 +01:00
Folkert
3138fc43ec
cosmetic changes
2021-11-07 16:31:43 +01:00
Folkert
0e1e3381f0
Merge remote-tracking branch 'origin/trunk' into tag-union-imitate-rust
2021-11-07 15:29:55 +01:00
Folkert
180575852a
all tests passing
2021-11-07 14:56:24 +01:00
Folkert de Vries
c0c2c1341c
Merge branch 'trunk' into fix-str-from-int
2021-11-07 00:00:21 +01:00
Brendan Hansknecht
73e2cbcb1e
Make versions numbers consistent and matching the lock files
2021-11-06 13:24:45 -07:00
Folkert
bd0f02c542
another waypoint
2021-11-06 19:27:16 +01:00
Anton-4
69f6ffadab
Merge branch 'trunk' into deps
2021-11-06 18:07:34 +01:00
Kevin Sjöberg
f6d055dc62
Correct minor spelling mistakes
2021-11-06 15:29:08 +01:00
Kevin Sjöberg
491a480371
Implement Str.fromInt for any integer type
2021-11-06 14:55:27 +01:00
Kevin Sjöberg
c18f306a7e
Remove dead code
2021-11-06 14:55:27 +01:00
Brendan Hansknecht
d49ac68bcc
Update dep with major version changes
2021-11-05 19:19:37 -07:00
Brendan Hansknecht
bddc08c977
Remove unused dependencies
2021-11-05 16:58:11 -07:00
Folkert
5cd232816b
waypoint
2021-11-05 21:30:20 +01:00
Folkert
51756cbc89
fix uninitialized alloca
2021-11-05 11:21:06 +01:00
Folkert
e378f0d2f9
fix tags tests
2021-11-05 10:35:17 +01:00
Folkert
2174db6534
Merge remote-tracking branch 'origin/trunk' into tag-union-imitate-rust
2021-11-05 09:28:36 +01:00
Anton-4
a3fc724df3
removed unused maplit
2021-11-03 10:50:25 +01:00
Richard Feldman
ac42470c81
Drop unused libc deps
2021-11-02 19:37:38 -04:00
Richard Feldman
4e19320982
Merge branch 'trunk' into false-cleanup
2021-11-01 22:30:45 -04:00
Kevin Sjöberg
f9ed060e49
Implement List.map4
2021-10-31 21:08:41 +01:00
Folkert
27e70b03e0
cleanup
2021-10-30 22:20:14 +02:00
Folkert
36496662d2
add comment on uninitialized memory
2021-10-30 22:14:26 +02:00
Folkert
29e7853b85
use phi node in elem_loop
2021-10-30 22:05:43 +02:00
Folkert
44e8fbc203
construct tag in alloca (to eventually pass them by pointer)
2021-10-30 22:05:22 +02:00
Dan Gieschen Knutson
02117ba512
Merge branch 'trunk' into str_trim
2021-10-27 18:01:29 -05:00
Folkert
d561f2661d
speedups
2021-10-27 00:01:21 +02:00
Dan Knutson
e7523ad41d
add Roc wiring
2021-10-25 20:22:37 -05:00
Folkert
1d1bd3d051
working, but generates more code
2021-10-22 14:54:15 +02:00
Folkert
2ff3a97ada
re-implement roc returning by pointer
2021-10-22 13:24:18 +02:00
Folkert
171c0836e4
return tag unions by pointer
2021-10-22 13:18:31 +02:00
Folkert
28b15cdf67
prettier
2021-10-22 13:17:07 +02:00
Folkert
7d1bd0ffe7
make refcount take tag union by reference
2021-10-22 13:17:07 +02:00
Folkert
e73ac60053
improve Tag literal generation
2021-10-22 13:17:07 +02:00
Folkert
ad9f0b0609
clippy
2021-10-22 13:07:45 +02:00
Folkert
da3787feb8
Merge remote-tracking branch 'origin/trunk' into remove-call-result-again
2021-10-22 12:57:36 +02:00
Folkert
10b9307ab6
centralize calling roc functions in llvm
2021-10-22 12:56:58 +02:00
Folkert
e6edfda9a5
refactor call to roc function
2021-10-22 12:32:37 +02:00
Folkert
83de4b55ef
remove another instance of RocCallResult
2021-10-22 12:26:04 +02:00
Folkert
0a12ce896f
Revert "make list inc/dec non-recursive (except when freeing the list)"
...
This reverts commit 19eadbfe70
.
2021-10-21 20:28:32 +02:00
Folkert
03144f978f
Revert "clippy"
...
This reverts commit 7773cf9b4d
.
2021-10-21 20:28:18 +02:00
Folkert
dd38d49335
fix formatting
2021-10-20 19:44:26 +02:00
Folkert
76e26e47f3
more cleanup
2021-10-20 17:05:59 +02:00
Folkert
7735ca21ea
cleanup
2021-10-20 17:03:55 +02:00