Ayaz Hafiz
0259c3cf92
s/occurences/occurrences/g
2022-07-21 12:29:09 -04:00
Ayaz Hafiz
4839c1f1ce
Clippy doesn't like stack spills. Sorry clippy!
2022-07-21 12:26:42 -04:00
Ayaz Hafiz
78dc82867a
Report errors for identifiers not bound in all patterns of a branch
2022-07-21 12:15:05 -04:00
Ayaz Hafiz
bf8fc0d0de
Permit binding variables multiple itmes in when branches
2022-07-21 11:06:40 -04:00
Folkert
5a93da5a11
some work on expect comment regions
2022-07-21 10:42:57 -04:00
Folkert
7597d11b59
parse the region of the preceding comment for an expect
2022-07-21 10:42:57 -04:00
Folkert
b6f1fd6f40
constrain expects in the right order
2022-07-21 10:42:57 -04:00
Richard Feldman
3972664e48
Rename Category::Float to Category::Frac
2022-07-20 10:49:05 -04:00
Ayaz Hafiz
8f5580c0a5
Clippy
2022-07-19 15:04:01 -04:00
Ayaz Hafiz
cf158d21ed
Fix comment
2022-07-19 14:30:20 -04:00
Ayaz Hafiz
7586a8a083
Check complete ability implementations during canonicalization
2022-07-19 14:30:20 -04:00
Ayaz Hafiz
37ab06b0a3
Reject implementations that don't point to abilities
2022-07-19 14:30:19 -04:00
Ayaz Hafiz
a53de2e05c
Add a comment
2022-07-19 14:30:19 -04:00
Ayaz Hafiz
e4af8af1a3
Report duplicate implementations for ability members
2022-07-19 14:30:19 -04:00
Ayaz
7b9b855dcc
Merge pull request #3579 from rtfeldman/can-abilities
...
Canonicalize syntactic abilities
2022-07-19 13:30:12 -05:00
Ayaz Hafiz
666becad87
Clippy
2022-07-19 08:14:12 -04:00
Folkert
fc891c0956
the lazier thing
2022-07-18 22:13:25 -04:00
Ayaz Hafiz
d2da395619
Syntactic ability links in solve
2022-07-18 18:33:28 -04:00
Ayaz Hafiz
f8cd56da41
Register specializing symbol in can opaques
2022-07-18 17:55:01 -04:00
Ayaz Hafiz
c2154ac311
Support shorthand ability implementation syntax
2022-07-18 17:55:01 -04:00
Ayaz Hafiz
96b32c36cb
Introdue ability member names before other value names
2022-07-18 17:55:01 -04:00
Ayaz Hafiz
e672ce9ebd
First pass at canonicalizing and reporting syntactic abilities
2022-07-18 17:55:01 -04:00
Ayaz Hafiz
d118e5afbc
More can abilities
2022-07-18 17:55:01 -04:00
Ayaz Hafiz
e798eb3037
Lookup symbols in scope when the module ID is already known
2022-07-18 17:55:00 -04:00
Richard Feldman
c859ce0b23
Use Opaque over Alias
2022-07-18 17:55:00 -04:00
Folkert de Vries
98dbd236fb
Merge pull request #3546 from rtfeldman/syntactic-ability-specializations
...
Parse and format "has-abilities" clauses in opaque types
2022-07-16 02:06:00 +02:00
Folkert de Vries
460b822caa
Merge pull request #3501 from rtfeldman/derive-tag-union-encoding-gen
...
Derive tag union encoding gen
2022-07-15 15:57:41 +02:00
Folkert
b9ebd4fa27
Merge remote-tracking branch 'origin/trunk' into pretty-expect-output
2022-07-15 09:12:04 +02:00
Folkert
b6224a3806
ugly hack to make the docs build
2022-07-14 22:15:19 +02:00
Folkert de Vries
1b1b63aad0
Merge branch 'trunk' into assoc-list-dict
2022-07-14 16:47:50 +02:00
Ayaz Hafiz
d4d073d8c6
Rename Derived to HasAbility
2022-07-14 10:38:37 -04:00
Ayaz Hafiz
3f7c91f988
Where there's clippy, there's no way
2022-07-14 09:24:08 -04:00
Ayaz Hafiz
94ab904b6f
Fix compile errors
2022-07-14 09:02:37 -04:00
Ayaz Hafiz
ad5d6a4f84
Copy patterns
2022-07-14 08:49:45 -04:00
Ayaz
a9243720da
Merge pull request #3496 from rtfeldman/derive-w-mono
...
Monomorphize and compile derived implementations
2022-07-14 07:45:21 -05:00
Folkert
96414cb03f
cleanup
2022-07-14 08:52:38 +02:00
Folkert
06938429a1
Merge branch 'assoc-list-dict' into pretty-expect-output
2022-07-14 00:39:01 +02:00
Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict
2022-07-13 20:44:28 +02:00
Folkert
ebce2cf8b2
make expect collector recursive
2022-07-13 18:51:11 +02:00
Richard Feldman
25facfa9c6
Expose capacity builtins
2022-07-13 12:19:37 -04:00
Folkert
fe7882b598
implement expect collector
2022-07-13 16:23:39 +02:00
Folkert
6190fc9f67
trying to gather expects
2022-07-13 15:47:25 +02:00
Ayaz Hafiz
7c2e806a02
Make sure to clone lambda names in can/copy
2022-07-13 08:47:39 -04:00
Ayaz Hafiz
987ebfa9d3
Move expr copying to can
2022-07-13 08:47:39 -04:00
Ayaz Hafiz
9a01117536
Fix compile errors
2022-07-13 08:47:37 -04:00
Ayaz Hafiz
d56d880afb
Option<SpecializationId> rather than SpecializationId = Option<..>
2022-07-13 08:47:34 -04:00
Ayaz Hafiz
2fbe715f9f
Support null specialization ids
2022-07-13 08:47:34 -04:00
Folkert
cbd6052dbb
fix dict/set not being in scope
2022-07-13 14:04:38 +02:00
Folkert
8e21fdcb04
remove dict/set lowlevels
2022-07-13 11:24:07 +02:00
Ayaz Hafiz
f1a6ea6a40
Typecheck and compile opaque wrapping functions
...
This enables you to write something like
```
A := U8
List.map [1, 2, 3] @A
```
which will be compiled as if it was `List.map [1, 2, 3] \x -> @A x`.
Closes #3499
2022-07-12 18:38:03 -04:00