Commit graph

126 commits

Author SHA1 Message Date
Richard Feldman
0a9989e75f wip 2020-06-06 23:41:12 -04:00
Richard Feldman
ac940a8b4b wip 2020-05-26 21:21:12 -04:00
Richard Feldman
60e583fb78 Improve debug stuff a bit 2020-05-26 21:19:47 -04:00
Richard Feldman
887ec9860a wip 2020-05-26 21:19:46 -04:00
Richard Feldman
42e3d35564 Use specialize_all 2020-05-26 21:18:25 -04:00
Richard Feldman
639c132ce0 wip 2020-05-26 21:18:25 -04:00
Richard Feldman
b5e4066c49 clippy clop 2020-05-10 15:22:05 -04:00
Richard Feldman
33a5f36d7c Refactor out name arg from from_can 2020-05-10 15:13:18 -04:00
Richard Feldman
85ec1e0f72 Fix anonymous function code gen 2020-05-10 15:13:18 -04:00
Richard Feldman
bd6228de8b Prevent infinite looping in code gen 2020-05-10 15:13:18 -04:00
Richard Feldman
e26df0d8cb Drop unused ContentHash 2020-05-10 15:13:18 -04:00
Richard Feldman
8572879e0d Remove unused procs argument 2020-05-09 22:41:59 -04:00
Richard Feldman
c49abfe2de Add layout to CallByName 2020-05-09 22:41:59 -04:00
Richard Feldman
510ab36f51 Use LayoutCache to avoid recomputing layouts 2020-05-09 22:11:32 -04:00
Richard Feldman
6a79a75648 Don't regenerate anonymous function symbols 2020-05-09 12:56:55 -04:00
Richard Feldman
8fbfae5e62 Expand some docs 2020-05-09 09:46:24 -04:00
Richard Feldman
7e7c6ef4af Drop obsolete symbol_counter field 2020-05-04 20:32:21 -04:00
Richard Feldman
2904f29c36 Have mono::expr::Env use IdentIds::gen_unique 2020-05-04 20:29:36 -04:00
Richard Feldman
ee31eac0c5 Code gen toplevel module functions 2020-05-01 19:30:55 -04:00
Richard Feldman
5c31369072 Code gen thunks for top-level module decls 2020-05-01 19:30:55 -04:00
Chad Stearns
d1b00633be INT NEQ for i1 and i8 integer types 2020-05-01 17:29:43 -04:00
Chad Stearns
71258e0e59 Implemented INT_NE_i64 2020-05-01 16:31:19 -04:00
Folkert
c11ac52a4b fix num/int bug
we called the function with the wrong type variable. now there are two functions, handling both cases
2020-04-29 12:28:13 +02:00
Richard Feldman
c39b43a265 Code gen numeric comparisons 2020-04-28 18:33:51 -04:00
Folkert
81769b4e65 fix clippy's newly-learned warnings 2020-04-23 22:12:24 +02:00
Folkert
b433988fde Merge remote-tracking branch 'origin/trunk' into pattern-exhaustiveness-records 2020-04-23 21:57:09 +02:00
Folkert
848764cb25 improve formatting of records in pattern exhaustiveness errors 2020-04-23 21:49:24 +02:00
Folkert
f0aa598ff9 use tag id instead of name in exhaustiveness checking 2020-04-21 16:24:43 +02:00
Richard Feldman
f0d76825d2 Extract specializations from PartialProc 2020-04-18 11:24:25 -04:00
Folkert
63bc923b37 remove panic 2020-04-13 22:54:24 +02:00
Folkert
c69b0d69e5 fix enum and bool pattern match suggestions 2020-04-12 21:47:15 +02:00
Folkert
7632a4b484 highlight code snippets better 2020-04-12 20:59:16 +02:00
Folkert
c326b09964 errors for patterns 2020-04-12 16:39:54 +02:00
Folkert
97c10e1211 setup for mono reports 2020-04-12 01:56:57 +02:00
Folkert
14ad793bd7 hook up TypeError 2020-04-01 16:28:10 +02:00
Folkert
db3ffc6dab make runtime errors for invalid patterns 2020-03-31 01:47:14 +02:00
Folkert
c202cf3e6b don't generate Store with no stores 2020-03-26 15:11:40 +01:00
Folkert
fc905b505c codegen for letrec 2020-03-26 14:53:38 +01:00
Folkert
39fb78b2d5 remove Jump/Label from mono::Expr 2020-03-24 00:11:02 +01:00
Folkert
958f3f9ad4 change pattern destructuring stores
they are now tracked in the Cond/Switch variants, rather than merged into the branch constructors. Required for 'beans'
2020-03-23 23:35:45 +01:00
Folkert
2bb69f333f always Cond on a symbol
this will make 'beans' easier
2020-03-23 20:00:15 +01:00
Folkert
baeb8ad96a test unit type patterns 2020-03-23 17:55:02 +01:00
Folkert
b9613fcdc5 clean up tag pattern match conversion 2020-03-23 17:55:02 +01:00
Folkert
a7b5768c47 use a custom type to store Union variants 2020-03-23 17:55:02 +01:00
Folkert
46062439b5 remove label from Struct layout 2020-03-23 17:55:02 +01:00
Folkert
e2a7c970bc refactor Access into AccessAtIndex 2020-03-23 17:55:02 +01:00
Folkert
9a0234e5dd make bound variables available in guards 2020-03-22 01:11:19 +01:00
Folkert
1f3b8f7d68 guard exhaustiveness 2020-03-21 23:33:37 +01:00
Folkert
a16d48a6a9 code gen for simple guards
Guards cannot use variables bound in the pattern yet
2020-03-21 22:27:36 +01:00
Folkert
97acf1363d cleanup after review 2020-03-21 12:52:10 +01:00