Commit graph

8932 commits

Author SHA1 Message Date
Folkert
d22a4711d4
use VecMap to store aliases 2022-04-24 15:37:44 +02:00
Folkert
cf89dd7f84
finetuning some comments 2022-04-24 13:50:47 +02:00
Folkert
dbae805071
minor cleanup to recursive alias creation 2022-04-24 13:43:04 +02:00
Folkert
912d9db293
use one fewer bitvec 2022-04-24 13:23:17 +02:00
Folkert
e5afb156eb
fix comment 2022-04-24 13:15:35 +02:00
Richard Feldman
d9a16ff5b2
Merge pull request #2927 from rtfeldman/upgrade-target-lexicon
Upgrade target-lexicon
2022-04-23 22:09:58 -04:00
Richard Feldman
57b7832917
Upgrade target-lexicon 2022-04-23 20:51:57 -04:00
Folkert
452447232f
bitvec all the things 2022-04-24 02:18:43 +02:00
Folkert
b0ceaf0372
instantiate aliases with a function 2022-04-24 01:04:59 +02:00
Folkert
f7010336bb
use vecs more 2022-04-24 00:16:26 +02:00
Folkert
a556cccb1e
populate the matrix 2022-04-23 23:54:05 +02:00
Folkert
5c992e49d9
rust is hard sometimes 2022-04-23 23:33:28 +02:00
Folkert
747ff262e0
stop wrapping in an Option 2022-04-23 23:09:50 +02:00
Folkert
020029138e
stop always returning an empty output 2022-04-23 23:02:34 +02:00
Folkert
1f824f3664
track exactly when we introduce a symbol in a let-block 2022-04-23 23:00:20 +02:00
Folkert
c9d422335f
inline function 2022-04-23 22:15:09 +02:00
Folkert
0f245ba778
insert type aliases instead of relying on scope check 2022-04-23 22:14:50 +02:00
Richard Feldman
95ca4d48e5
Re-remove divFloor 2022-04-23 16:12:11 -04:00
Folkert
91e4a0636f
enable do_pass_bool_byte_closure_layout only in release mode 2022-04-23 21:58:36 +02:00
Folkert
397d1c1db3
rename 2022-04-23 21:57:17 +02:00
Richard Feldman
122a1d57a0
Merge remote-tracking branch 'origin/trunk' into sqrt-unchecked 2022-04-23 15:40:30 -04:00
Folkert
ea15203ff9
clarify 2022-04-23 21:20:49 +02:00
Folkert
44c08779c3
simplify pattern match 2022-04-23 21:19:24 +02:00
Folkert
4668cf506b
be smarter about returning References 2022-04-23 21:15:54 +02:00
Folkert
9866feeb5d
stop putting the references into the env.closures map with the def name 2022-04-23 21:01:50 +02:00
Folkert
a4ea4acacf
pass closure references along via TempOutput 2022-04-23 20:59:34 +02:00
Folkert
8936cb9463
remove use of env.closures in later steps 2022-04-23 20:46:26 +02:00
Folkert
29493d2fd0
use matrix-based recursivity check 2022-04-23 20:43:08 +02:00
Folkert
31fc223517
add recursivity checker 2022-04-23 20:42:41 +02:00
Ayaz Hafiz
5d1dd81e93
Reuse symbol when opaque type wraps a known symbol
Opaques decay immediately into their argument during codegen, so we need
to handle something that's effectively variable aliasing correctly.

This bug popped up while migrating all current private tags to opaques.
2022-04-23 14:37:52 -04:00
Folkert
9bc00321b6
cleanup 2022-04-23 20:08:04 +02:00
Folkert
f7d604f3ef
move def ordering creation into canonicalize_defs 2022-04-23 20:06:05 +02:00
Folkert
bf4462c79a
consider _ = someDef definitions, where there is no symbol 2022-04-23 19:16:06 +02:00
Folkert
002327e275
don't clone the defs 2022-04-23 17:14:02 +02:00
Folkert
5840693743
use vectors instead of maps 2022-04-23 16:57:28 +02:00
Ayaz Hafiz
9a341e3d75
Improve non-exhaustive typechecking errors
We will replace this with proper exhaustiveness checking when we have
that in the typechecking phase, but for now this should do.
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
87245def0a
Clippy vs McGregor 2047 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
935a484c71
Fix compile error 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
435781aa5b
Static assertions that certain types implement Copy 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
188bd33f1f
Make sure we only open up closed tag unions 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
633bdd5520
Fix failing reporting tests 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
44aa1fca1c
s/constriants/constraints/g 2022-04-23 10:56:53 -04:00
Ayaz Hafiz
627d73e4c0
Clippy 2022-04-23 10:56:53 -04:00
Ayaz Hafiz
504c3f9b49
Delay add "is open" constraint until we know a type variable 2022-04-23 10:56:53 -04:00
Ayaz Hafiz
7b2b41869f
Add a way to view solved types of arbitrary expressions/patterns in a program 2022-04-23 10:56:53 -04:00
Ayaz Hafiz
115cd2ba75
IsOpen constraints should always open up all nested tag unions 2022-04-23 10:56:52 -04:00
Folkert
7b37727175
cleanup the old implementation 2022-04-23 16:13:26 +02:00
Folkert
7042584559
clippy 2022-04-23 15:34:24 +02:00
Folkert
32edd55d3d
sanity check 2022-04-23 15:32:15 +02:00
Folkert
2037133882
refactor how global defs are registered 2022-04-23 13:49:14 +02:00