Commit graph

276 commits

Author SHA1 Message Date
Folkert
20ae9ff1e3
hollow out ConstrainableImports 2022-03-11 21:29:50 +01:00
Folkert
9333d0a0e0
remove solved types from ExposedModuleTypes 2022-03-11 21:06:12 +01:00
Folkert
18d7f32aa3
do nothing, prepare for refactor 2022-03-11 21:03:55 +01:00
Folkert
afcd176d58
clone storage subs less 2022-03-11 20:56:13 +01:00
Folkert
c79ecec56e
make SubsByModule opaque 2022-03-11 20:16:55 +01:00
Folkert
d4da4fed88
cleanup 2022-03-11 19:41:30 +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
973e3ac7ed
bring storage subs into solve again 2022-03-11 10:28:10 +01:00
Folkert
78f5526db3
add storage subs to ExposedModuleTypes 2022-03-11 10:15:33 +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
ayazhafiz
0692caf7ba Consolidate Accessor data 2022-03-06 11:07:31 -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
9f11245b22
add comment 2022-03-05 22:29:30 +01:00
Folkert
6380a9edf9
remove collection that went unused 2022-03-05 22:29:22 +01:00
Folkert
587c89e003
use empty array for empty DefTypes sequence 2022-03-05 21:51:20 +01:00
Folkert
6392e42166
prevent frequent expectation cloning 2022-03-05 21:32:22 +01:00
Folkert
53962a4799
mark infer variables as flex 2022-03-05 17:27:33 +01:00
Folkert
48b0bbe874
cleanup 2022-03-05 14:55:45 +01:00
Folkert
97b0e3df9b
more efficient approach for finding new rigids 2022-03-05 14:50:23 +01:00
Folkert
9302f2ca5e
partially revert to working state 2022-03-05 13:18:35 +01:00
ayazhafiz
e0aa246c5e Merge remote-tracking branch 'origin/trunk' into instantiate-rigids-speedup-again 2022-03-04 21:55:16 -05:00
Folkert
39c4b878e5
remove comment 2022-03-04 23:27:05 +01:00
Folkert
db06c10b5f
be smarter 2022-03-04 23:02:10 +01:00
Folkert
38d3d3169a
drop final suffixes 2022-03-02 21:30:38 +01:00
Folkert
828483393a
move expr/pattern constraint gen 2022-03-02 21:25:13 +01:00
Folkert
0eb98a4c59
move over constraint 2022-03-02 21:19:58 +01:00
Folkert
8d2e0a738c
exploiting exactsizeiterator 2022-03-02 21:08:14 +01:00
Folkert
c52029c2d1
the debugging begins 2022-03-02 20:30:42 +01:00
Folkert
73bd647a7d
constrain module stuff 2022-03-02 19:56:30 +01:00
Folkert
36c2b78c30
fix copy paste mistake 2022-03-02 19:08:42 +01:00
Folkert
a4889fd571
we are compiling 2022-03-02 18:48:34 +01:00
Folkert
01a7fe77d4
even more wip 2022-03-02 17:32:50 +01:00
Folkert
b8fd6992a2
More wip 2022-03-02 15:29:45 +01:00
Folkert
ec099bbdec
WIP 2022-03-02 14:46:30 +01:00
ayazhafiz
07b1829732 Improve error reporting for patterns not matching opaques 2022-02-27 00:11:11 -05:00
ayazhafiz
059c324268 Error reporting for type mismatches involving opaques 2022-02-27 00:10:12 -05:00
ayazhafiz
b6d7229525 Infer + checking tests for opaques 2022-02-27 00:10:12 -05:00
ayazhafiz
86aa0df661 Add constraint generation for opaque types 2022-02-27 00:10:11 -05:00
Brendan Hansknecht
f7c0e2ef19 Merge remote-tracking branch 'origin/trunk' into single-quote-literal 2022-02-24 10:13:39 -08:00
ayazhafiz
f8c7349193 Simplify pattern constraint generation
At the time we introduced presence constraints for tag unions, I added a
"destruct_position" variable so that we didn't change the typechecking
semantics for everything all at once, and because I wasn't totally sure
what I was doing was correct. But now we're more confident in this
approach, and every pattern is by definition a destructuring, so there
is no need for this flag.

Also should fix some potential bugs we didn't notice before with presence
constraints in closure variables, though I can't find a good test to
reproduce this, since closure variables are hidden from the user.
2022-02-24 01:08:18 -05:00
ayazhafiz
90de82e295 Validation of opaques during canonicalization 2022-02-21 18:25:19 -05:00
ayazhafiz
6b53692aac Canonicalize opaque types 2022-02-20 13:47:01 -05:00
ayazhafiz
c5d918e68c Include floats in bounds for unspecified numbers 2022-02-06 15:04:12 -05:00
ayazhafiz
3fffca48bb Bye bye dead code! 2022-02-06 15:04:12 -05:00
ayazhafiz
c80c842a93 Clippy 2022-02-06 15:04:12 -05:00
ayazhafiz
8dc92ccd97 Second pass 2022-02-06 15:04:12 -05:00
ayazhafiz
5e0d90ac53 First pass 2022-02-06 15:04:12 -05:00
ayazhafiz
e7dcc2daa5 Move NumWidth to roc_can 2022-02-02 00:23:43 -05:00