Richard Feldman
2904f29c36
Have mono::expr::Env use IdentIds::gen_unique
2020-05-04 20:29:36 -04:00
Richard Feldman
ce9e7a91f6
Clean up some Cargo.toml files
2020-05-03 21:37:59 -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
Richard Feldman
35f99680ba
Use indoc! more
2020-04-29 07:10:59 -04:00
Richard Feldman
570f387f0d
Drop some obsolete dead_code annotations
2020-04-29 07:05:43 -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
Richard Feldman
afbe871e6d
wip
2020-04-26 08:45:41 -04:00
Richard Feldman
243bbf4790
Revert changes to mono/ from List.get attempts
2020-04-25 06:30:01 -04:00
Folkert
0191910715
fix clippy's newly-learned warnings
2020-04-25 06:30:01 -04:00
Folkert
0a1cf805f9
handle Unboxed
2020-04-25 06:30:01 -04:00
Folkert
3e36bea700
improve formatting of records in pattern exhaustiveness errors
2020-04-25 06:30:01 -04:00
Folkert
dc320e9fd9
fix ordering bug in pattern exhaustiveness
2020-04-25 06:30:01 -04:00
Folkert
f8b540b6f4
use tag id instead of name in exhaustiveness checking
2020-04-25 06:30:01 -04:00
Richard Feldman
6b952e0c98
Revert "Attempt to add List.get to mono/"
...
This reverts commit 49d24e8202cf59d0b47ca397fe0c150d0620da20.
2020-04-25 06:19:13 -04:00
Richard Feldman
c28f00ecb2
Attempt to add List.get to mono/
2020-04-25 06:19:13 -04:00
Richard Feldman
d97e16de7e
Revert "Attempt a mono/ approach for List.get"
...
This reverts commit f0b76f41da
.
2020-04-25 06:19:10 -04:00
Richard Feldman
f0b76f41da
Attempt a mono/ approach for List.get
2020-04-25 06:19:06 -04:00
Richard Feldman
5992b42ebe
Remove unnecessary conditionals
2020-04-22 23:35:57 -04:00
Richard Feldman
04ec592eeb
Revert "Thread ret_layout through CallByName"
...
This reverts commit 632d4eca92
.
2020-04-22 08:33:53 -04:00
Richard Feldman
632d4eca92
Thread ret_layout through CallByName
2020-04-22 08:30:41 -04:00
Richard Feldman
f0d76825d2
Extract specializations from PartialProc
2020-04-18 11:24:25 -04:00
Richard Feldman
1c1fee7e31
Trim trailing space off pretty_assertions dep
2020-04-16 19:24:24 -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
106a3646bf
add category to Eq constraint
2020-04-01 20:09:10 +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
3dbdb64a93
fix merge conflict
2020-03-23 17:56:38 +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
Richard Feldman
db502fe2e7
Revise some tests
2020-03-21 22:51:11 -04:00
Richard Feldman
ef38095003
Fix optimization test
...
The reason this was failing was that `x` was getting
dropped by dead code elimination, and therefore wasn't
considered a reason to share any values it used.
2020-03-21 21:19:18 -04:00
Richard Feldman
cc8683d241
Fix use of GEP (was using byte offset, not index)
2020-03-21 21:19:18 -04:00
Richard Feldman
3a6018d223
Reproduce List.set uniqueness bug
2020-03-21 21:19:18 -04:00
Folkert
9a0234e5dd
make bound variables available in guards
2020-03-22 01:11:19 +01:00