Commit Graph

15315 Commits

Author SHA1 Message Date
Ayaz Hafiz
b0734c3d80
Disallow abilities on toplevel of scope 2022-05-09 09:45:02 -04:00
Folkert de Vries
9515f60479
Merge pull request #3035 from rtfeldman/remove-unused-install
remove unused install-ci-libraries.sh
2022-05-09 09:56:06 +02:00
Anton-4
09fa577724
remove unused install-ci-libraries.sh 2022-05-09 09:24:37 +02:00
Richard Feldman
d59753f6ad
Merge pull request #3029 from rtfeldman/mfonism/rename-num-float-type-to-frac
Rename Num.Float to Num.Frac
2022-05-08 22:06:49 -04:00
Richard Feldman
a29686a341
Add Mfon Eti-mfon to AUTHORS 2022-05-08 20:55:47 -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
Ayaz Hafiz
a242a90416 Stale comment 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
7b195d5fdf Abilities in aliases and external member defs are legal now 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