Commit graph

4395 commits

Author SHA1 Message Date
Richard Feldman
6cd8afd5d6 Fix using structs with records 2020-03-15 15:13:52 -04:00
Richard Feldman
d546f4340d Improve an error message 2020-03-15 14:31:13 -04:00
Richard Feldman
010e390fd6 Make using records in defs work 2020-03-15 14:31:01 -04:00
Folkert
6e97734211 ensure Bit/Enum patterns are considered exhaustive 2020-03-15 14:42:57 +01:00
Folkert
8a46765fee add debug assert for possible invariant 2020-03-15 14:42:57 +01:00
Folkert
3ea748e532 remove extra check 2020-03-15 14:42:57 +01:00
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