Commit Graph

8493 Commits

Author SHA1 Message Date
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