Commit graph

669 commits

Author SHA1 Message Date
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