Folkert
febb578773
rework refcount code gen to accept unknown inc values
2021-05-16 20:28:45 +02:00
Folkert
3540a048d8
formatting
2021-05-16 20:25:18 +02:00
Folkert
ebd62485df
add ir unknowninc instruction
2021-05-16 17:25:01 +02:00
Folkert
c2108d4ecd
rework refcount code gen to accept unknown inc values
2021-05-16 16:15:27 +02:00
Folkert
3ca6ffade9
make List.map borrow based on passed function
2021-05-16 14:09:39 +02:00
Brendan Hansknecht
b46a2cb4b5
Merge branch 'trunk' into gen-dev/div-i64
2021-05-15 23:36:48 -07:00
Brendan Hansknecht
e56c46ff54
enable record updating tests since they already pass
2021-05-15 23:26:59 -07:00
Brendan Hansknecht
6a38ec03ed
enable returning structs
...
That being said the support is very limited. It really only supports
single field structs and the special case of 2 ints. I realized that
general support for returning structs requires a calling conv extension
for returning them. Instead of adding all of the calling conv versions,
I just added a few basic cases that are shared accross calling conv. It
turns out that the calling conv extension is quite detailed for how it
works in Arm. X86 isn't too detailed overall.
2021-05-15 23:01:23 -07:00
Brendan Hansknecht
ba58e1bbf4
expand supported record tests
2021-05-15 21:17:47 -07:00
Brendan Hansknecht
210004529d
float and nested records to the dev backend
2021-05-15 21:05:51 -07:00
Brendan Hansknecht
950d380ea0
Add records to the dev backend
2021-05-15 20:18:04 -07:00
Folkert
3a4a78fdbb
conditional import
2021-05-16 01:05:29 +02:00
Folkert
309a677213
fix update of 1-element record
2021-05-16 00:54:57 +02:00
Folkert
2d2418a514
fix mono tests
2021-05-16 00:54:33 +02:00
Folkert
4623e0f1ae
disable i64_force_stack
2021-05-16 00:35:42 +02:00
Folkert
691fa56d50
make repl evaluate 0-argument thunk
2021-05-16 00:23:04 +02:00
Brendan Hansknecht
69c2b3527c
Add i64 multiplication to dev backend
2021-05-15 15:04:49 -07:00
Brendan Hansknecht
91e471e328
Minor cleanup of gen_dev/gen_num tests
2021-05-15 15:02:52 -07:00
Folkert
27f8465e9c
clippy
2021-05-15 23:59:54 +02:00
Folkert
24c9741281
fix recipe for disaster
2021-05-15 23:22:00 +02:00
Folkert
558fb3e1bf
clippy + top level thunks
2021-05-15 23:19:08 +02:00
Folkert
16fe609464
remove Expr::FunctionPointer
2021-05-15 21:29:10 +02:00
Folkert
3739f41cac
explicitly store and pass layout of a function passed to lowlevel
2021-05-15 21:25:38 +02:00
Folkert
357f93a2ee
store the layout of a function passed to a lowlevel
2021-05-15 20:54:26 +02:00
Folkert
27a6a179da
recipe for disaster; track the underlying cause down!
2021-05-15 13:00:37 +02:00
Folkert
a75ddbba5e
make Hello.roc work
2021-05-15 00:09:07 +02:00
Folkert
ef3ec8ca74
don't treat non-thunks as thunks
2021-05-14 23:22:11 +02:00
Folkert
acd6fde083
fix invoke codegen
2021-05-14 23:11:59 +02:00
Folkert
16f17cba88
comments/whitespace
2021-05-14 22:57:39 +02:00
Folkert
5440632dc5
use consts for owned/borrowed
2021-05-14 22:56:42 +02:00
Folkert
8d108634a2
generate fx caller later in the process, so it can reference other procs
2021-05-14 22:55:39 +02:00
Folkert
89ad21145b
get scratchpad to run
2021-05-14 20:53:47 +02:00
Folkert
48386f2fc6
get Scratchpad to build
2021-05-14 17:01:57 +02:00
Folkert
49521f5279
enable more ignored tests
2021-05-14 15:19:22 +02:00
Folkert
e40db9a207
fix return_wrapped_closure"
2021-05-14 15:16:35 +02:00
Folkert
3c7e849830
get poc-effect working
2021-05-14 15:09:55 +02:00
Folkert
a055fa3626
fix record accessors
2021-05-14 13:07:35 +02:00
Folkert
80423bac76
fix copy mistake
2021-05-14 12:56:35 +02:00
Folkert
fd422ab1d2
remove dead code
2021-05-14 12:49:15 +02:00
Folkert
087ee18f09
use macros in preparation for lambda set inference
2021-05-14 12:42:25 +02:00
Folkert
ca78439756
working Set.walk
2021-05-14 12:35:44 +02:00
Folkert
d25b1dc549
fix final list test
2021-05-14 01:02:16 +02:00
Folkert
1ee1a8114b
more builtins
2021-05-14 00:41:39 +02:00
Folkert
f39bc34b8f
add closure union to some builtins
2021-05-14 00:25:29 +02:00
Folkert
acfaf96734
lots of progress, many bugs
2021-05-13 23:45:39 +02:00
Folkert
ce195034ee
sort of stable
2021-05-13 21:34:22 +02:00
Folkert
c4fc526038
working functions in list
2021-05-13 19:43:17 +02:00
Folkert
2163e01288
lowlevel List.map works
2021-05-13 19:15:17 +02:00
Folkert
f02f655e0b
got some lowlevel stuff working
2021-05-13 01:39:06 +02:00
Folkert
051712c90b
remove ClosureData type
2021-05-13 00:31:02 +02:00