Commit graph

141 commits

Author SHA1 Message Date
Folkert
ba186bfe09 can store, but not load recursive fields 2020-08-22 16:01:04 +02:00
Folkert
f4e1aa046d basic infrastruture for recursive layouts 2020-08-21 00:14:24 +02:00
Folkert
fa5e5ab201 back to a working version 2020-08-19 23:42:45 +02:00
Folkert
294273283b make shared quicksort work 2020-08-15 00:14:20 +02:00
Folkert
d8c71c23f4 thread in borrow signature inference 2020-08-13 20:56:33 +02:00
Folkert
c52f866d8a fix tests 2020-08-13 01:40:03 +02:00
Folkert
5ca843822f implement optional fields in let bindings and when 2020-08-13 01:39:59 +02:00
Folkert
3e12f1a309 Merge remote-tracking branch 'origin/tail-call-elimination' into gen-optional-field 2020-08-13 00:21:21 +02:00
Folkert
b05e126d78 add more tests 2020-08-13 00:19:01 +02:00
Folkert
20ddbeb528 implement optional fields in function pattern matches 2020-08-13 00:09:57 +02:00
Folkert
380e34d296 Merge remote-tracking branch 'origin/trunk' into tail-call-elimination 2020-08-12 15:46:50 +02:00
Folkert
8c86836101 add TCE 2020-08-12 14:03:55 +02:00
Folkert
bdd8751107 start work on tail recursion 2020-08-12 12:57:20 +02:00
Folkert
2963c44cc6 change tests after branching improvements 2020-08-12 01:36:38 +02:00
Chad Stearns
29c0bfa65d Use allocate_list in clone_nonempty_list 2020-08-11 19:01:18 -04:00
Folkert
7603225fca generate return earlier, causing more TCE 2020-08-11 22:30:34 +02:00
Folkert
84a8b69437 generate IR that uses uniqueness 2020-08-11 14:47:14 +02:00
Richard Feldman
1e9f8e8764 Update test_mono expectations 2020-08-10 23:14:56 -04:00
Richard Feldman
2eab24015c Diff lines on failed test_mono tests 2020-08-10 23:01:37 -04:00
Folkert
ac6d72d077 fix some test failures 2020-08-10 21:41:47 +02:00
Folkert
b4c5c2f793 add variable to list
stores the list type, so we can know whether it is unique
2020-08-10 21:05:57 +02:00
Folkert
9e75252ddb centralize decision on what is refcounted 2020-08-10 12:59:10 +02:00
Folkert
4caef70668 Merge remote-tracking branch 'origin/trunk' into refcount 2020-08-09 13:49:13 +02:00
Folkert
95a3d7fed4 disable mono tests with --release 2020-08-09 11:55:24 +02:00
Richard Feldman
3fe2a4e3fd Drop unused jump_counter 2020-08-08 19:53:21 -04:00
Folkert
f8143e3e53 perform copy propagation 2020-08-09 00:48:53 +02:00
Folkert
078c6df677 Merge remote-tracking branch 'origin/trunk' into refcount 2020-08-08 22:34:14 +02:00
Folkert
5082d40ff5 clean up test imports 2020-08-08 21:56:43 +02:00
Folkert
a248a92d9f generate inc/dec in procs 2020-08-08 18:54:28 +02:00
Folkert
e3356dea7b clippy warnings 2020-08-08 11:51:59 +02:00
Richard Feldman
c8e647ccfc Use is_zero_sized to remove lots of ptr_bytes 2020-08-07 20:08:06 -04:00
Folkert
55eff50e36 good progress on Lean-based inc/dec 2020-08-07 23:22:59 +02:00
Folkert
2467815cef rework how values from a pattern are assigned 2020-08-07 00:16:17 +02:00
Folkert
378fe1d5d1 phase out old mono stuff 2020-08-06 21:05:14 +02:00
Folkert
5c0dc268f8 fix mono tests 2020-08-06 16:55:35 +02:00
Folkert
40b68f7e99 all gen tests are passing 2020-08-06 14:08:33 +02:00
Folkert
db0bed2fe7 mostly fix issues with patterns/guards/switch/cond 2020-08-06 01:09:42 +02:00
Folkert
c18bbe9a63 join points with arguments 2020-08-05 22:33:07 +02:00
Folkert
b22fa7c9cd gen empty list correctly 2020-08-05 16:48:06 +02:00
Folkert
4e55a4bf92 more pattern matching fidling 2020-08-05 16:10:45 +02:00
Folkert
8c79b88697 things are working again 2020-08-04 01:28:40 +02:00
Folkert
6ce02b5727 wip working on function calls 2020-08-03 23:16:46 +02:00
Folkert
cccfeb51f2 simple when is working 2020-08-03 20:10:41 +02:00
Folkert
a8bfd90a50 introduce Inc 2020-08-01 22:58:29 +02:00
Folkert
5548bf136d conditionally leak memory 2020-08-01 21:37:54 +02:00
Folkert
f48a661b3d fixing tests 2020-07-31 00:49:16 +02:00
Folkert
f15a50d3fa implement inc and dec for lists 2020-07-31 00:02:36 +02:00
Folkert
d784f62cd3 cleanup 2020-07-30 13:31:50 +02:00
Folkert
eb793b2b44 write more tests for reset/reuse 2020-07-28 01:13:49 +02:00
Folkert
95365959f2 insert reset/reuse for Cond 2020-07-27 15:10:07 +02:00