Folkert
607799b96e
steps towards closures and Effects
2020-10-17 20:53:57 +02:00
Folkert
edfc96628e
WIP
2020-10-17 14:53:57 +02:00
Folkert
6227a3480e
cleanup
2020-10-17 02:51:42 +02:00
Folkert
1708484eb5
fix mono tests
2020-10-17 02:39:44 +02:00
Folkert
8b490b6221
make closure layout more robust
2020-10-17 01:48:55 +02:00
Folkert
cbe78593c2
add extra pass that further trims down the captured symbols
2020-10-17 00:17:55 +02:00
Folkert
752a40a23c
fix or ignore gen tests
2020-10-16 21:19:25 +02:00
Folkert
40ffca2b7b
IT WORKS
2020-10-16 00:18:40 +02:00
Folkert
d0f031fe6c
use captured_symbols to determine the closure type
2020-10-15 16:17:59 +02:00
Folkert
6318f032df
first shot at implementing closure layout
2020-10-15 16:03:56 +02:00
Folkert
ca2efc27bd
Merge remote-tracking branch 'origin/trunk' into sized-functions-inference
2020-10-15 14:34:32 +02:00
Folkert
02a396d08a
use fast calling convention
2020-10-15 01:46:28 +02:00
Folkert
7f1dd80392
hook up size inference, WIP
2020-10-14 22:55:25 +02:00
Folkert
729e16cad9
clippy
2020-10-14 21:42:22 +02:00
Folkert
ba99b96164
add repl test for type error
2020-10-14 20:53:19 +02:00
Folkert
cb9ce5e8d7
use modules in the repl
2020-10-14 17:48:56 +02:00
Folkert
b3e3eb24a8
missed a thing
2020-10-14 17:07:19 +02:00
Folkert
106024b4bb
fix bug converting recursive tag union to solved type
2020-10-14 16:57:43 +02:00
Folkert
62ed1508d5
fix mistake in tests
...
no idea why this passed before, it clearly shouldn't
2020-10-14 16:37:53 +02:00
Folkert
8338296da2
add top-level thunks to the scope everywhere
2020-10-14 15:03:41 +02:00
Folkert
07e29eb34c
initial implementation
2020-10-14 14:43:59 +02:00
Folkert
f07fe1879b
fix problem with specializing rigids
2020-10-14 02:21:33 +02:00
Folkert
2da2c25d32
research bug with linked list and uniqueness
2020-10-14 00:49:14 +02:00
Folkert
f6106166f1
fix bug with nested lets
2020-10-14 00:32:58 +02:00
Folkert
89a1146c19
run gen tests as modules
2020-10-13 21:45:41 +02:00
Folkert de Vries
d9827ae467
Merge branch 'trunk' into improve-dependency-solving
2020-10-13 00:55:19 +02:00
Richard Feldman
a7da54516a
Cast i64 to f64 instead of using builtin bitcode
2020-10-12 17:59:20 -04:00
Folkert
06bc187f8b
all tests passing + clippy satisfied
2020-10-12 01:42:03 +02:00
Folkert
4f9b27b694
sketch of a proof of concept
2020-10-11 01:54:50 +02:00
Folkert
518f45222a
all things clippy
2020-10-08 01:32:47 +02:00
Folkert
c7b251d6b4
Merge remote-tracking branch 'origin/trunk' into gen-modules
2020-10-08 01:29:32 +02:00
Richard Feldman
4ec16749a0
Use _ over # when exporting linkable symbols
2020-10-04 15:58:13 -04:00
Folkert
c4b4cb013e
implement record update
2020-10-04 00:06:14 +02:00
Folkert
16ec417324
record update foundations
2020-10-03 21:44:25 +02:00
Folkert
c8e5acf142
code gen Accessor
2020-10-03 21:44:04 +02:00
Richard Feldman
cc0fd32f27
Merge branch 'trunk' into str-refcount
2020-09-30 20:26:21 -04:00
Brendan Hansknecht
fc4f753914
Check the string is big and non-empty
2020-09-30 16:49:47 -07:00
Brendan Hansknecht
b02b25f41d
Support variable ptr sizes in string refcount
2020-09-30 15:17:29 -07:00
Brendan Hansknecht
a2069a88db
Merge branch 'trunk' into str-refcount
2020-09-30 15:12:17 -07:00
Folkert
a0538c815b
use RocList in tests
2020-09-30 22:13:59 +02:00
Folkert
d46fb7bfb6
fix bool tests
2020-09-30 21:49:33 +02:00
Brendan Hansknecht
1082d88b2b
Remove unused value from increment_refcount_ptr
2020-09-30 06:58:10 -07:00
Folkert
3d46d19585
round up malloc, but only sometimes
2020-09-30 15:57:53 +02:00
Folkert
95dffad073
WIP
2020-09-30 15:01:24 +02:00
Richard Feldman
2993d40b85
Don't support compiling to 128-bit targets
2020-09-30 08:23:44 -04:00
Brendan Hansknecht
46db0fd989
Properly size refcount based on system ptr size
2020-09-29 17:27:29 -07:00
Brendan Hansknecht
0c5beb59cb
Add refcount incrementing to big strings
2020-09-29 16:14:20 -07:00
Brendan Hansknecht
f532a758d9
Add refcount decrementing to big strings
2020-09-28 20:32:32 -07:00
Brendan Hansknecht
9e9552186e
Fix list refcount dec
2020-09-27 10:18:01 -07:00
Brendan Hansknecht
51e1cd61dd
Intentionally leak memory with 0 for refcount
...
A 0 value for refcount is the max and means leaked/read-only memory.
These values should never be incremented or decremented.
This changes also uses signed overflow when decrementing memory.
2020-09-27 09:34:51 -07:00