Commit Graph

185 Commits

Author SHA1 Message Date
Folkert
9207145792 remove unneeded error vec 2020-03-15 14:42:57 +01:00
Folkert
58fd1d64ff do exhaustiveness on mono patterns 2020-03-15 14:42:57 +01:00
Folkert
2e3f21b1ce add commented test 2020-03-15 14:42:57 +01:00
Folkert
cdf05bc425 remove (now unneeded!) default case 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
5926ac2f01 stub out Tag layout 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
4033098dac Update some number docs 2020-03-15 01:24:41 -04:00
Richard Feldman
f3c9ac2b40 Try out some docs 2020-03-14 23:31:17 -04:00
Richard Feldman
5c3c30ed09 Fix List.get and List.set 2020-03-14 21:17:09 -04:00
Richard Feldman
a54db8bf92 Merge remote-tracking branch 'origin/trunk' into array-wrappers 2020-03-14 20:49:59 -04:00
Richard Feldman
5bf82fa42c Fix Cranelift gen of nonempty lists 2020-03-14 20:44:39 -04:00
Richard Feldman
5beb65880c Fix List.len 2020-03-14 20:12:27 -04:00
Richard Feldman
36986fd204
Merge branch 'trunk' into mono-if 2020-03-14 15:43:28 -04:00
Chad Stearns
6a0655f96d Merging in remote 2020-03-14 12:35:00 -04:00
Chad Stearns
51ad7ea0f1 unused def report and batch report text 2020-03-14 12:28:36 -04:00
Richard Feldman
e01db9b284 wip empty list 2020-03-13 23:33:32 -04:00
Richard Feldman
e9a0c8b3ef Fix mono for empty list 2020-03-13 22:41:55 -04:00
Richard Feldman
de25dc0484 Re-enable empty list test 2020-03-13 22:41:46 -04:00
Richard Feldman
458b28de17 Drop dbg! statement 2020-03-13 22:41:35 -04:00
Richard Feldman
8d4331f903 Merge remote-tracking branch 'origin/trunk' into array-wrappers 2020-03-13 22:20:35 -04:00
Richard Feldman
4c19dd86ff First pass at some List implementation stuff 2020-03-13 22:15:26 -04:00
Richard Feldman
80722b872a Update List.set to use wrapper 2020-03-13 22:15:02 -04:00
Richard Feldman
6f64bb2f9b Update List.getUnsafe to use wrapper 2020-03-13 22:15:02 -04:00
Folkert
e2a079f0cc empty ext vars in type_to_var 2020-03-14 01:43:14 +01: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
c4c40ec878 fix cond generation
With Enum patterns (u8 in size), the size of the condition and the branches could disagree. (the branches would be i64).
we now cast the branches to the smaller integer type based on the layout
2020-03-14 00:07:32 +01:00
Folkert
38c93c001f constrain whole_var 2020-03-13 23:34:29 +01:00
Folkert
2e697ee8f9 add whole_var to tag union/record
the existing var is for the extension (ext_var). during mono we need the whole type to look up the layout, so store that as well
2020-03-13 23:28:36 +01:00
Folkert
129be86233 clean up when to Cond conversion 2020-03-13 21:24:42 +01:00
Folkert
df54bb5aef fix incorrect signature for isEq in uniq builtins 2020-03-13 20:49:16 +01:00
Folkert
05a3e8c3d8 equality for Byte and Bool 2020-03-13 17:01:18 +01:00
Folkert
f894459159 fix comment 2020-03-13 16:38:33 +01:00
Folkert
242679b841 fix clippy complaints 2020-03-13 16:14:37 +01:00
Folkert
bfde5c596d remove dead code 2020-03-13 15:17:37 +01:00
Folkert
97f1548a24 add tests 2020-03-13 15:16:27 +01:00
Folkert
735358c577 implement isEq for Float/Int 2020-03-13 15:15:10 +01:00
Folkert
6651180283 implement Bool in llvm 2020-03-13 15:13:43 +01:00
Dan Bruder
c16d5cb3f1 struct creation and access in llvm 2020-03-13 10:13:32 -04:00
Folkert
a3b1ec3be0 pull tags/fields from the ext_var during unification 2020-03-13 15:12:32 +01:00
Dan Bruder
eea25429b6 uncomment llvm tests for basic_record 2020-03-13 09:16:04 -04:00
Dan Bruder
099145e4b4 Merge branch 'trunk' into access-record-fields 2020-03-13 09:07:41 -04:00
Folkert
9ef4a6d891 fix bug in uniq isEq type
it always wanted Boolean arguments ...
2020-03-13 13:06:56 +01:00
Folkert
e01a6bab9b improve error reporting by mismatch! macro 2020-03-13 13:06:56 +01:00
Folkert
a7af366c3a new code gen for Cond 2020-03-13 13:06:56 +01:00
Folkert
263e4b4b6c add tests for mono If 2020-03-13 13:06:56 +01:00
Folkert
e3e84ecb0c fix If bug in uniq constraint gen 2020-03-13 13:06:56 +01:00