Commit Graph

135 Commits

Author SHA1 Message Date
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
Folkert
a3b1ec3be0 pull tags/fields from the ext_var during unification 2020-03-13 15:12:32 +01: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
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
Richard Feldman
a0c4e91792 Rename List.set_in_place to List.#setInPlace 2020-03-11 20:53:39 -04:00
Richard Feldman
21e4eb505a Implement and test Float.#add 2020-03-11 20:53:35 -04:00
Richard Feldman
523282e7bc Implement Int.#add 2020-03-11 20:53:32 -04:00
Richard Feldman
649575fab8 Improve some error messages 2020-03-11 19:48:19 -04:00
Richard Feldman
74b58db477 Use Procs::default() 2020-03-11 19:45:12 -04:00
Folkert
bb9c9d423a make Procs a struct 2020-03-12 00:40:10 +01:00
Folkert
2d0649fa66 attempt fix for gen tests 2020-03-11 23:13:32 +01:00
Folkert
a037173cdb complete the Content hashing 2020-03-11 23:00:44 +01:00
Folkert
f7a2be113e monomorphize closures 2020-03-11 22:03:01 +01:00
Folkert
5c9cf0ef37 add type hash function 2020-03-11 22:01:56 +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
Folkert
17348231fd fix uniqueness Num inference
The variable in Num is the `a` in `Num a`. For Int/Float literals, it's a helper variable to generate better error messages
2020-03-11 14:18:26 +01:00
Folkert
9ba09c7d82 use Reason::NumLiteral in uniqueness inference
we can 'just' do that here because there is a var_store available. That isn't true for normal inference, where we would have to put the variable in during solving
2020-03-11 14:07:49 +01:00
Richard Feldman
55623605f3 clippy mcclip 2020-03-11 00:11:23 -04:00
Richard Feldman
df85c086ab Fix test_uniq_solve 2020-03-11 00:07:19 -04:00
Richard Feldman
c0837eca1c Use constantNum over constantInt in load tests 2020-03-10 23:11:49 -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