Commit graph

108 commits

Author SHA1 Message Date
Folkert
b5abed5f54 variables in pattern matches on single tags 2020-03-17 16:27:09 +01:00
Folkert
9d756a3b2c generate unpacked tags in Crane 2020-03-17 15:26:21 +01:00
Folkert
c3d550116b make patterns store their bound variables 2020-03-17 14:04:26 +01:00
Folkert
6310341b7e Merge remote-tracking branch 'origin/trunk' into pattern-compilation 2020-03-17 12:49:30 +01:00
Richard Feldman
bfe7c1b330 Update a comment 2020-03-16 21:27:49 -04:00
Folkert
c20f777dba comment tests that fail for llvm 2020-03-17 00:36:58 +01:00
Folkert
72ca6d675c further tag support in Cranelift 2020-03-17 00:36:58 +01:00
Folkert
c9a90c32e3 prepare for Tag code gen 2020-03-17 00:36:58 +01:00
Folkert
e742b77e0b parity with old implementation 2020-03-17 00:36:58 +01:00
Folkert
d875f8bfce implement layout for Tag 2020-03-17 00:36:58 +01:00
Folkert
8c7124aba6 first pass 2020-03-17 00:36:58 +01:00
Richard Feldman
455fabbe88 c to the l to the i p p y 2020-03-15 15:21:33 -04:00
Richard Feldman
6cd8afd5d6 Fix using structs with records 2020-03-15 15:13:52 -04:00
Folkert
58fd1d64ff do exhaustiveness on mono patterns 2020-03-15 14:42:57 +01:00
Folkert
58c09aeaba First pass at pattern exhaustivess checking 2020-03-15 14:42:57 +01:00
Folkert
6088a22cb6 WIP first version that runs 2020-03-15 14:42:57 +01:00
Richard Feldman
a54db8bf92 Merge remote-tracking branch 'origin/trunk' into array-wrappers 2020-03-14 20:49:59 -04:00
Richard Feldman
e9a0c8b3ef Fix mono for empty list 2020-03-13 22:41:55 -04:00
Folkert
b43be95b19 add record_var to Access and Accessor 2020-03-14 01:13:44 +01:00
Folkert
e62ddc9ef5 make record variable names clearer 2020-03-14 01:01:14 +01:00
Folkert
1a8f380033 Merge remote-tracking branch 'origin/trunk' into mono-if 2020-03-14 01:00:25 +01:00
Folkert
1570e9b96e make mono patterns nicer 2020-03-14 00:10:11 +01:00
Folkert
129be86233 clean up when to Cond conversion 2020-03-13 21:24:42 +01:00
Folkert
05a3e8c3d8 equality for Byte and Bool 2020-03-13 17:01:18 +01:00
Folkert
735358c577 implement isEq for Float/Int 2020-03-13 15:15:10 +01:00
Dan Bruder
099145e4b4 Merge branch 'trunk' into access-record-fields 2020-03-13 09:07:41 -04:00
Folkert
a7af366c3a new code gen for Cond 2020-03-13 13:06:56 +01:00
Folkert
4da01c720e monomorphize the ext_var of records/tag unions 2020-03-12 21:32:58 +01:00
Folkert
f372e4d108 move fresh symbol generation into Env 2020-03-12 16:55:45 +01:00
Dan Bruder
bfd9150af4 access record fields progress 2020-03-12 10:37:07 -04:00
Folkert
de40cf62f3 special-case anonymous functions 2020-03-12 14:03:26 +01:00
Folkert
cfb3952fbf put patterns into PartialProc
So Load(symbol) finds a defined value
2020-03-12 13:20:26 +01:00
Folkert
9761aabe65 add is_empty to Procs 2020-03-12 12:58:03 +01:00
Richard Feldman
723ef8e6d0 Add a missing register_debug_idents call 2020-03-12 00:43:04 -04:00
Richard Feldman
494a8574bf Drop obsolete add_closure function 2020-03-12 00:40:07 -04:00
Richard Feldman
9db7d2229a Remove a .clone() on procs 2020-03-11 22:18:44 -04:00
Folkert
c9644e4ee7 use snapshots to remove clone on Subs 2020-03-12 02:42:30 +01:00
Richard Feldman
cf5e3f92a5 Have mono::Env store &mut Subs 2020-03-11 21:36:27 -04:00
Richard Feldman
df78068e81 Implement int and float subtraction 2020-03-11 21:10:41 -04:00
Richard Feldman
762b2c7b10 use IntOrFloat::* 2020-03-11 21:03:58 -04:00
Folkert
bb9c9d423a make Procs a struct 2020-03-12 00:40:10 +01:00
Folkert
f7a2be113e monomorphize closures 2020-03-11 22:03:01 +01:00
Folkert
4c9f2c1b6e monomorphize addition 2020-03-11 15:24:44 +01:00
Folkert
fb8e8570bc Merge remote-tracking branch 'origin/trunk' into num 2020-03-11 14:30:50 +01:00
Folkert
d47d409a92 clean up to_int_or_float
with the changes from the previous commit, this now works as it should
2020-03-11 14:25:16 +01:00
Richard Feldman
55623605f3 clippy mcclip 2020-03-11 00:11:23 -04:00
Richard Feldman
a033f325f4 Support integer (Num *) patterns in jump tables 2020-03-10 23:08:26 -04:00
Richard Feldman
a0d762d1e5 Fix more mono::expr (Num *) cases 2020-03-10 23:06:11 -04:00
Richard Feldman
0bac39f9f1 Fix from_can for (Num *) 2020-03-10 22:59:30 -04:00
Richard Feldman
3ecbe0325c Plain number literals (e.g. 5) are now Num * 2020-03-10 22:27:13 -04:00