Ayaz Hafiz
4339d50480
Improve cycle error message
...
Closes #2513
2022-05-10 12:11:32 -04:00
Ayaz Hafiz
1fb6718c00
Improve error type context field name
2022-05-10 11:32:45 -04:00
Ayaz Hafiz
3ddb14184d
Move dead code removal
2022-05-10 11:29:10 -04:00
Ayaz Hafiz
a9507cf917
Consolidate variable pretty printing
2022-05-10 11:24:41 -04:00
Ayaz Hafiz
3de35f7aa2
Loosen recursion var rank restriction in presence of errors
2022-05-10 11:15:21 -04:00
Ayaz Hafiz
3497237c99
Print recursion vars correctly
2022-05-10 10:40:37 -04:00
Ayaz Hafiz
7306e131b9
Add test for resolved issue
...
Closes #2371
2022-05-10 09:42:35 -04:00
Ayaz Hafiz
32814cbb37
Add test for resolved bug
...
Closes #2389
2022-05-10 09:29:28 -04:00
Brian Carroll
ca7d916065
Delete llvm feature from roc_build and roc_cli
2022-05-09 20:40:57 +01:00
Ayaz Hafiz
b92e3a07ac
Remove irrelevant errors
2022-05-09 09:48:30 -04:00
Ayaz Hafiz
b0734c3d80
Disallow abilities on toplevel of scope
2022-05-09 09:45:02 -04:00
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac
2022-05-08 20:54:33 -04:00
Ayaz
3e7702df01
Merge pull request #2910 from rtfeldman/i/2880
...
Ability codegen for Encode/Decode
2022-05-08 19:10:45 -04:00
Richard Feldman
c7037db6d5
Merge pull request #3013 from rtfeldman/hostgen
...
Introduce bindgen CLI
2022-05-08 17:51:20 -04:00
Folkert de Vries
5d3b83f5a6
Merge pull request #2268 from rtfeldman/update_zig_09
...
Update to Zig 0.9 + LLVM 13
2022-05-08 23:29:45 +02:00
ayazhafiz
f2d3865315
Fix can AST walk
2022-05-08 15:17:59 -04:00
Ayaz Hafiz
4bfbe479c9
Useless comment
2022-05-08 15:08:20 -04:00
Ayaz Hafiz
798c28fccd
Dryasdust was a popular word in 1860
2022-05-08 15:08:20 -04:00
Ayaz Hafiz
e31e89ac66
Mark and clear specializations
2022-05-08 15:08:20 -04:00
Ayaz Hafiz
da604e978e
Use SpecializationId to mark specializations
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
2cacda00eb
Add some internal error assertions
2022-05-08 15:08:19 -04:00
Ayaz
d0bd08dbe0
Typo
2022-05-08 15:08:19 -04:00
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