ayazhafiz
02e1a98cac
Remove redundant member
2022-04-07 22:19:30 -04:00
ayazhafiz
304a32ef0a
Typo
2022-04-07 20:51:21 -04:00
Ayaz Hafiz
1ca3dad1e2
Allow complicated return type
2022-04-07 17:21:17 -04:00
Ayaz Hafiz
73bfff699f
Handle symbols that shadow ability member definitions
...
Just add the shadowing symbol for now. We'll handle checking that a
specialization's type matches the member's type definition in a later
pass, during typechecking.
2022-04-07 17:21:17 -04:00
Ayaz Hafiz
884d07344e
Clippy
2022-04-07 17:21:17 -04:00
Ayaz Hafiz
66ec1b4a84
Basic canonicalization and error checking for abilities
2022-04-07 17:21:17 -04:00
Ayaz Hafiz
d3b848fa46
Clippy
2022-04-06 22:24:14 -04:00
Ayaz Hafiz
a3ac68a41f
Split up Defs into TypeDef and ValueDef
...
Just a refactoring PR. This is useful because during canonicalization
we always process type defs first, then value defs. With abilities this
distinction continues to grow; in that case, we have patterns associated
with types that we want to process before patterns from values.
2022-04-06 22:18:57 -04:00
Ayaz Hafiz
9fbc525d02
Make sure float suffixes are parsed out after can
...
Before we hit mono, we need to make sure the suffixes of numeric
literals are parsed out from the literal string, so that we don't try to
parse something whose type we already know but has the extraneous
suffix.
Co'ed with @tagraves
2022-04-05 11:32:34 -04:00
Folkert
0dd2cec09a
update with new clippy lints
2022-03-31 19:34:51 +02:00
Richard Feldman
cce590dee5
Merge pull request #2761 from rtfeldman/simplify-unused-defs
...
Remove unneeded work in canonicalization
2022-03-23 10:10:05 -04:00
Richard Feldman
750fbf2dcf
Merge pull request #2766 from rtfeldman/simplify-identids
...
simplify IdentIds
2022-03-22 20:23:56 -04:00
Folkert
a67bb29a36
remove hashmap
2022-03-22 21:58:49 +01:00
Folkert
f25afe4629
skip registering of debug symbols in hot loop
2022-03-22 18:51:56 +01:00
Folkert
7029717cd0
fix missing import
2022-03-21 23:46:25 +01:00
Folkert
725eb217d8
more vecs, less sets
2022-03-21 23:20:57 +01:00
Folkert
14b53c0ccf
simplify local_successors
2022-03-21 23:16:07 +01:00
Folkert
cee1a787c9
and remove everything because it has no effect
2022-03-21 23:07:27 +01:00
Folkert
1b1a7b0385
more cleaned up
2022-03-21 22:54:24 +01:00
Folkert
a170f461e0
cleanup
2022-03-21 22:44:14 +01:00
Folkert
cc9873eb6d
exploration
2022-03-21 22:41:32 +01:00
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