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