Ayaz
4858979d6b
Remove stale comment
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
08beedb648
Improve codelink comment
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
b3845c21bd
Print able type variables correctly
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
154b17d9f0
Correct instantiation of delayed opaques
...
I didn't realize that delayed instantiation of aliases instantiates
their real var, not the whole alias type. So prior to this, we were
wrapping all opaques in a structural `Alias(..)`. Which is okay from a
typechecking perspective because Aliases are transparent, but is
wasteful.
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
a47dc711f3
Remove a couple vec allocs
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
5cc6727e9f
Simplify introduced variables in ability member
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
4a623a48dc
Simpl decoder a bit
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
e08b5fa91e
Specializer->Resolver
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
08710c8153
Decoders now code-generate
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
13884c4ce6
Fix solve test
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
1a53daa665
Remove ability todo in mono
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
8bff2875b0
Account for ability specialization in reuse_symbol
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
5a5fc0162d
FlexAble must always constrain a Flex
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
85b3110bea
Typecheck decoder
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
f208f7b4a1
Ability members are functions too
2022-05-08 15:08:18 -04:00
Ayaz Hafiz
638c446c2f
Fix constraints
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
bc0b82b97c
Expand encode gen test
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
474c18ab83
Handle recursion
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
30ef59a591
Fix test import
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
53c8ec3a57
Correctly aliasing of ability members
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
645c0f2738
Don't eagerly walk down let bindings to specialize an ability
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
e5eae75ad6
Ignore gen test, for now
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
025d501cfd
Determine ability specializations before walking a body
2022-05-08 15:08:17 -04:00
Ayaz Hafiz
edee222763
Add AbilityMember can variant for resolving ability specializations
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
ebbcd57022
Make visitors public
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
d2eb5e17ec
Fill out can traversals
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
f48792a173
Add encoder tests
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
c1b1f60630
Coupon cutting
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
a242a90416
Stale comment
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
2e57bf0b6a
Permit able variables in aliases, and thread them through
2022-05-08 15:08:14 -04:00
Ayaz Hafiz
01af970b49
Constraining ability members is the same as a usual def
2022-05-08 15:07:27 -04:00
Ayaz Hafiz
45134a547d
Update solve test
2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c67bc5a8d6
Remove when-related changes
2022-05-08 15:07:27 -04:00
Ayaz Hafiz
b5efd830e5
Solve and gen ability members that bind other able variables
2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c01baa9168
Fix failing reporting tests
2022-05-08 15:07:27 -04:00
Folkert
b21a226281
simplify constraints
2022-05-08 20:11:12 +02:00
Folkert
7be41d8c09
remove unused variables from let/letrec
2022-05-08 20:06:00 +02:00
Folkert
29a9564d36
and yet another result wrapper
2022-05-08 17:16:24 +02:00
Folkert
2e9477e011
remove another result wrapper
2022-05-08 17:16:13 +02:00
Folkert
d5b010cb13
remove unused Result wrapper
2022-05-08 17:16:00 +02:00
Brian Carroll
c93cfd0993
Merge pull request #3028 from rtfeldman/implement-wasm-num-pow-int
...
implement NumPowInt in wasm backend
2022-05-08 15:11:37 +01:00
Ayaz
31cc64b634
Merge pull request #3027 from rtfeldman/borrow-reference-matrix
2022-05-08 09:43:59 -04:00
Ayaz
21b4a4c38e
Merge pull request #3023 from rtfeldman/correct-opaque-delayed-aliases
...
Correct instantiation of delayed opaques
2022-05-08 09:39:42 -04:00
jonas schell
532055bf3b
implement NumPowInt
2022-05-08 14:17:11 +02:00
Folkert
529ec39aeb
remove ven_graph from mono dependencies
2022-05-08 12:32:24 +02:00
Folkert
8be6957e9b
fix merge conflict
2022-05-08 12:29:52 +02:00
Folkert
90517f09a5
use matrix for SCCs
2022-05-08 12:19:33 +02:00
Folkert
fbbc31855d
update mono tests
2022-05-08 12:18:10 +02:00
Folkert
df9b5bd0f5
construct reference matrix
2022-05-08 12:18:10 +02:00
Folkert
c5b7ff98fd
move reference matrix
2022-05-08 12:18:10 +02:00