Folkert
364bc81dc4
stop making solved types for non-builtins
2022-03-11 21:08:24 +01:00
Folkert
30e7d94c95
clarify old constraint gen is now just for the builtins
2022-03-11 19:25:42 +01:00
Folkert
aebb3a162e
it's alive!
2022-03-11 17:27:44 +01:00
Folkert
9054546d27
move things in place to go storage_subs -> subs
2022-03-11 10:49:22 +01:00
Folkert
28abf5b1b8
store exposed values as storage subs
2022-03-11 10:12:25 +01:00
Folkert de Vries
ce1839133b
Merge pull request #2661 from rtfeldman/i/2541
...
Report invalid extension types during canonicalization
2022-03-07 16:12:04 +01:00
ayazhafiz
47e4904075
Chase aliases when checking for valid extension types
2022-03-06 22:17:58 -05:00
Folkert
ba2f9ba779
Merge remote-tracking branch 'origin/trunk' into content-flattype-copy
2022-03-06 20:52:04 +01:00
Folkert de Vries
27f367ec23
Merge pull request #2656 from rtfeldman/type-to-var-tco
...
Optimize type_to_variable
2022-03-06 20:44:14 +01:00
Folkert
a9c8e2dc3e
copy instead of clone Content
2022-03-06 19:07:18 +01:00
hafiz
de9da2d8a5
Merge pull request #2657 from rtfeldman/i/2567
...
Register accessor closures when they are bound
2022-03-06 12:59:55 -05:00
Folkert
29bf4195a1
make FlatType Copy
2022-03-06 18:15:26 +01:00
Folkert
41e56519ef
prevent a subs lookup by reserving a Variable
2022-03-06 18:00:25 +01:00
Richard Feldman
2a6a197fdf
Merge pull request #2653 from rtfeldman/def-types-tweaks
...
Def types tweaks
2022-03-06 11:25:37 -05:00
ayazhafiz
3bff99b0a2
Register accessor closures when they are bound
...
Previously we only registered record accessor closures in anonymous
contexts, where we assume they must already be specialized based on the
surrounding contexts. This is not true in general since one might bind
an accessor to a name.
Closes #2567
2022-03-06 10:53:12 -05:00
Folkert
0f5c339b4f
and roc_result_to_var
2022-03-06 15:29:23 +01:00
Folkert
eec92204f1
optimize type_to_union_tags
2022-03-06 15:13:39 +01:00
Folkert
8b526e4f58
clippy
2022-03-06 14:54:19 +01:00
Folkert
592a5ace19
optimize recursive call
2022-03-06 14:14:47 +01:00
Folkert
a37a895016
optimize tag name cache
2022-03-06 14:11:33 +01:00
Folkert
7ad55d67e2
Make type_to_variable manually tail-recursive
...
by using a work stack and reserving variables. fun stuff
2022-03-06 13:15:50 +01:00
Folkert
4806dc378f
add comment and assert back
2022-03-05 23:49:21 +01:00
Folkert
0351b9fce7
improvements to adjust_rank
2022-03-05 23:45:07 +01:00
Folkert
97d9027271
improve pool_to_rank_table
2022-03-05 23:44:57 +01:00
Folkert
c7c9a90d65
restructure how def_types are stored in Constraints
2022-03-05 21:47:49 +01:00
hafiz
cad02d878c
Merge pull request #2645 from rtfeldman/solve-fully-tail-recursive
...
make solve fully tail recursive
2022-03-05 14:35:39 -05:00
Folkert
1b66247303
renaming
2022-03-05 19:30:15 +01:00
Folkert
fc4212310f
Merge remote-tracking branch 'origin/trunk' into solve-fully-tail-recursive
2022-03-05 18:34:09 +01:00
Folkert
80956061dd
fix formatting bug in type pretty-print
2022-03-05 15:03:59 +01:00
Folkert
6370a80c62
make sure lambda sets within aliases are in IntroducedVariables
2022-03-05 14:29:34 +01:00
Folkert
d158702e1a
Merge remote-tracking branch 'origin/trunk' into take-scratchpad-bug
2022-03-05 02:15:46 +01:00
Folkert
8c321c1aa4
fix a bug with taking a scratchpad arena
2022-03-05 02:12:10 +01:00
Folkert
a79f6c6cdd
restructure and add comments
2022-03-05 01:29:21 +01:00
Folkert
c7d8ae6c79
make complex case tail-recursive
2022-03-05 01:02:27 +01:00
Folkert
3a1add6ce8
add LocalDefVarsVec::from_def_types
2022-03-05 00:53:27 +01:00
Folkert
41df04184e
make the simple case tail-recursive
2022-03-05 00:26:03 +01:00
Folkert
4ca9ea0b89
refactor After
2022-03-04 23:57:41 +01:00
Folkert
38d3d3169a
drop final suffixes
2022-03-02 21:30:38 +01:00
Folkert
546afc9661
drop soa suffix
2022-03-02 21:21:37 +01:00
Folkert
0eb98a4c59
move over constraint
2022-03-02 21:19:58 +01:00
Folkert
c52029c2d1
the debugging begins
2022-03-02 20:30:42 +01:00
Folkert
fe48bdf5b1
make solve that uses new constraint
2022-03-02 19:43:03 +01:00
Folkert
19d7f7ce09
make vars-by-symbol a vector
2022-03-01 21:51:25 +01:00
Folkert
8b457a56c5
reduce cloning of Env
2022-03-01 00:08:56 +01:00
Folkert
d3bbf6d504
struct of arrays!
2022-03-01 00:00:50 +01:00
Folkert
1ef9546391
use Vec instead of MutMap
2022-02-28 23:54:35 +01:00
Folkert
9d82f795b7
make it abstract
2022-02-28 23:43:58 +01:00
Folkert
751ae125a5
remove aliases from solve Env
2022-02-28 23:41:07 +01:00
Folkert
c18befeccf
short-circuit aliases
2022-02-28 23:37:33 +01:00
ayazhafiz
01da425851
Simplify solve worklist substantially
2022-02-27 16:41:31 -05:00