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
Folkert
c396ad6705
set up a def order (unpopulated for now)
2022-04-23 13:36:47 +02:00
Folkert
890bec1b0c
refactor
2022-04-23 13:17:58 +02:00
Ayaz Hafiz
3eb7824c7a
Typos
2022-04-22 17:57:02 -04:00
Ayaz Hafiz
bb06bcd7f1
Fix compile error
2022-04-22 17:57:02 -04:00
ayazhafiz
939f413569
Don't try to fix recursion vars if there are other errors
2022-04-22 17:57:02 -04:00
Ayaz Hafiz
1e1ffb2f62
Bugfix use root var
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
5dfe44c72d
Render nullable wrapped tag unions that pass through aliases
2022-04-22 17:57:01 -04:00
Ayaz
3906c5c200
Clippy
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
b61481c6e7
Try another strategy - fix recursion vars during typechecking
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
02d5cd7885
Deal with recursive pointers that pass through non-recursive layouts
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
92dfccedff
Document debugging env variables
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
b0aafd762a
Show more type information in pretty printing
2022-04-22 17:57:01 -04:00
Folkert
7b234911ac
do the work
2022-04-22 23:47:43 +02:00
Folkert
894e5bdd5c
add code for more efficient identifier store
2022-04-22 22:06:00 +02:00
Folkert
8720462839
use more specific function to get symbols/regions
2022-04-22 21:41:17 +02:00
Folkert
6ffe14809f
don't populate Scope with aliases
...
these are now properly imported. For testing reporting we still need a way
to provide them without resolving imports (just for speed)
2022-04-22 20:49:46 +02:00