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
Folkert
aeeaf99c17
fix bug in constraint gen for If
...
the condition expression wasn't actually constrained
2020-03-13 13:06:56 +01:00
Folkert
f02193b962
fix new clippy warnings
2020-03-12 22:56:58 +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
f74471012c
Improve an error message
2020-03-12 00:53:24 -04: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
9b68fbe3c9
Add PRETTY_PRINT_DEBUG_SYMBOLS
2020-03-12 00:39:53 -04:00
Richard Feldman
173ba925ff
Formatting
2020-03-12 00:39:28 -04:00
Richard Feldman
db362f6df0
Reproduce named identity function bug
2020-03-12 00:31:53 -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
Folkert
3dbaac210a
add snapshot functions to Subs
2020-03-12 02:38:38 +01:00
Richard Feldman
cf5e3f92a5
Have mono::Env store &mut Subs
2020-03-11 21:36:27 -04:00
Richard Feldman
2ad70d44a2
Rename Attr module to #Attr, drop #Attr.@Attr
2020-03-11 21:15:30 -04:00
Richard Feldman
df78068e81
Implement int and float subtraction
2020-03-11 21:10:41 -04:00
Richard Feldman
9fcfa90bff
Change capitalization
2020-03-11 21:06:08 -04:00
Richard Feldman
762b2c7b10
use IntOrFloat::*
2020-03-11 21:03:58 -04:00