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
Folkert
f9d8e01561
implement Dict/Set completely in roc
2022-07-13 00:35:20 +02:00
Richard Feldman
c61795197f
Merge pull request #3478 from rtfeldman/toplevel-expect-captures
...
toplevel expect captures
2022-07-12 08:58:19 -04:00
Richard Feldman
2e038a045c
Merge pull request #3467 from rtfeldman/remove-parse-def
2022-07-10 23:12:26 -04:00
Folkert
239ef9cbe1
my comment is not a code snippet, cargo
2022-07-10 21:31:26 +02:00
Folkert
830dd03b30
add comment
2022-07-10 20:48:57 +02:00
Folkert
67cbe6a590
pipe a list of expects to llvm codegen
2022-07-10 20:04:08 +02:00
Folkert
5df489ba23
turn toplevel expects into inline expects
2022-07-10 19:17:51 +02:00
Folkert
4956fc5ef4
remove transitive builtins
2022-07-10 01:22:30 +02:00
Folkert
3dee90ced8
remove parse::ast::Def
2022-07-10 01:10:37 +02:00
Richard Feldman
4ae91b2084
Fix STR_RESERVE constant
2022-07-08 20:24:22 -04:00
Richard Feldman
55931bca9e
Merge pull request #3452 from rtfeldman/can-builtins-cleanup
...
Can builtins cleanup
2022-07-08 18:54:59 -04:00
Folkert
a4e1de2f2d
improve names and comments around the new macros
2022-07-08 23:43:36 +02:00
Folkert de Vries
15fee6fc9c
Merge pull request #3455 from rtfeldman/opaque-recursion-var
...
Support recursion var unification in opaque types
2022-07-08 22:18:26 +02:00
Folkert
e8530eaca5
improve lowlevel unwrapping
2022-07-08 22:13:13 +02:00
Ayaz Hafiz
676d6b3a7f
Sorry clippy, we love long lists
2022-07-08 15:38:50 -04:00
Ayaz Hafiz
d9edb4d1bb
Support unification of recursion vars in opaques
2022-07-08 15:31:29 -04:00
Folkert
d3662c4671
remove the old can/builtins approach
2022-07-08 13:54:45 +02:00