Commit graph

895 commits

Author SHA1 Message Date
hafiz
3f07afe3b5
Merge pull request #2750 from rtfeldman/delay-instantiating-aliases-fix-limitations
Delay instantiating aliases fix limitations
2022-03-19 20:41:14 -04:00
hafiz
418e71e95c
Merge pull request #2755 from rtfeldman/dense-let-constraints
Constraint gen tweaks
2022-03-19 20:39:55 -04:00
Folkert
f5ebc5bec9
add some Constraints statistics reporting 2022-03-19 20:50:22 +01:00
Folkert
9ac194a3b3
store Str.Str type in a compact way 2022-03-19 20:49:39 +01:00
Folkert
55d9dc745c
track if an alias is exposed 2022-03-19 17:10:29 +01:00
Folkert
1429b105a1
use (name, variable) pair as the unique key 2022-03-19 12:13:13 +01:00
Folkert
f804c88711
spelling 2022-03-19 00:29:57 +01:00
Folkert
ce4f47d2e9
remove clones in IntroducedVariables clone 2022-03-19 00:03:30 +01:00
Folkert
4e315797b0
expose ImMap entry 2022-03-19 00:00:56 +01:00
Folkert
9b63e6a3a9
simplify IntroducedVariables 2022-03-18 23:47:39 +01:00
Folkert
bf063d1d57
use all aliases that are in scope (to support imported aliases) 2022-03-18 20:44:13 +01:00
Folkert
83225cc469
ensure lambda set variables are freshly instantiated when instantiating an alias 2022-03-18 20:11:55 +01:00
Folkert
d6f0005fb3
bubble up lambda sets used by inner aliases 2022-03-18 20:04:07 +01:00
Folkert
a3b00fbf55
Merge branch 'explicit-closed-tag-record' into delay-instantiating-aliases 2022-03-17 20:34:52 +01:00
Folkert
34e566965d
implement can crate 2022-03-17 19:04:24 +01:00
Folkert
b38ff78422
make extension check work again 2022-03-16 22:19:48 +01:00
Folkert
f868410a91
also skip opaque aliases for now 2022-03-16 22:09:39 +01:00
Folkert
48b6cd09c7
conditionally use a DelayedAlias 2022-03-16 18:29:40 +01:00
Folkert
7f63e09272
remember recursion variable when making alias recursive 2022-03-16 14:52:34 +01:00
Folkert
1dacf29879
make sure aliases are not forgotten 2022-03-16 14:36:24 +01:00
Folkert
b3dce7317d
hook up aliases 2022-03-15 22:23:40 +01:00
ayazhafiz
8aaf614481 Improve error message 2022-03-15 11:18:02 -05:00
ayazhafiz
787c8ee3a5 s/occurence/occurrence/g 2022-03-14 17:50:55 -05:00
ayazhafiz
8810a48a52 fmt 2022-03-14 17:47:29 -05:00
ayazhafiz
3da34fc843 Report unbound type variables in aliases, opaques
Closes #2726
2022-03-14 17:42:45 -05:00
Folkert
6baae55980
add equal_types_with_storage helper 2022-03-13 22:46:41 +01:00
Folkert
e8bf5fa378
prevent clone for all function signatures 2022-03-13 22:35:56 +01:00
Folkert
15ac77567a
make rigid variable introducion more obvious 2022-03-13 18:27:42 +01:00
Folkert
d31ea3e71f
clarify import constraint 2022-03-13 17:59:33 +01:00
Folkert
b3f7b3a337
record referenced types 2022-03-13 17:52:31 +01:00
Folkert
4ef6cba23a
Merge branch 'split-types-values' into type-checking-storage-subs 2022-03-13 17:43:24 +01:00
Folkert
563ba6acbb
incorporate referenced types 2022-03-13 16:57:42 +01:00
Folkert
8bc31e82c3
try to keep type and value symbols separate 2022-03-13 16:50:32 +01:00
Folkert
ed247c9da3
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs 2022-03-13 13:43:00 +01:00
Folkert
a9849a6ffc
add clarifying comments to Constraints 2022-03-13 13:42:49 +01:00
Richard Feldman
0b3fb576d4
Merge remote-tracking branch 'origin/trunk' into abilities-parsing 2022-03-12 23:43:52 -05:00
Richard Feldman
da64cc0a1d
cargo fmt 2022-03-12 23:43:45 -05:00
ayazhafiz
d7abc3897b Parse abilities 2022-03-12 21:29:06 -06:00
Folkert
8b2c1707d4
don't even create a type if we only need a variable 2022-03-13 02:12:45 +01:00
Folkert
eccb461b01
get fancy, store variable directly in the index 2022-03-13 01:59:28 +01:00
Folkert
b3d9f9c2de
use EitherIndex<Type, Variable> to halve number of types stored 2022-03-13 01:46:49 +01:00
Folkert
e3e9215578
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs 2022-03-12 14:10:43 +01:00
Folkert
401b3fd5ad
improve Constraint Debug impl 2022-03-12 13:31:58 +01:00
Folkert
8b92401d01
document let_import_constraint 2022-03-12 13:28:24 +01:00
hafiz
28a3ae85e3
Merge pull request #2704 from rtfeldman/num-to-nat
Add `Num.toNat`
2022-03-11 18:46:43 -06:00
hafiz
5bc29c9b88
Merge pull request #2700 from rtfeldman/optimize-instantiate-alias
improve `correct_mutual_recursive_type_alias`
2022-03-11 17:29:51 -06:00
ayazhafiz
6a71358431 Get rid of more clones when resolving recursive aliases and use fast ImMap 2022-03-11 14:59:19 -06:00
Brendan Hansknecht
d681062c63 add Num.toNat 2022-03-11 11:17:42 -08:00
Folkert
aebb3a162e
it's alive! 2022-03-11 17:27:44 +01:00
Folkert
fc5e09a9e3
use Vec instead of ImSet 2022-03-11 09:52:44 +01:00