Commit graph

490 commits

Author SHA1 Message Date
Ayaz Hafiz
0d763518f1
Make sure to push more symbols coming from Derived_synth to Derived_gen 2022-08-16 08:10:04 -05:00
Ayaz Hafiz
634e9a2b69
Remove dbgs 2022-08-15 11:11:35 -05:00
Ayaz Hafiz
d01c5c83b7
Check in gen tests that don't work yet 2022-08-15 11:11:33 -05:00
Richard Feldman
7e12bcff1d
Rename variant_var to tag_union_var 2022-08-15 11:11:32 -05:00
Ayaz Hafiz
7215acdbac
Ensure that field layouts passed to closure unwrapping are sorted 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
9ffe6eb6dd
Print function argument layouts in pretty mode 2022-08-13 10:25:18 -07:00
Folkert
3aa4ebb02f
get expect-fx to actually run 2022-08-12 23:03:01 +02:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Folkert
7e6a3ddc15
more boilerplate 2022-08-12 13:50:06 +02:00
Folkert
10b6f33ed2
boilerplate 2022-08-12 13:34:36 +02:00
Ayaz Hafiz
021cc6e506
Support non-nullable-unwrapped recursive lambda sets 2022-08-09 15:17:16 -07:00
Ayaz Hafiz
a4bb6879bc
Resolve recursive pointer lambda set layouts when unpacking captures 2022-08-09 14:43:36 -07:00
Ayaz Hafiz
c22bcc5c67
Resolve derived specializations that aren't functions 2022-08-03 16:11:09 -05:00
Ayaz Hafiz
1526581542
Get the correct buitlin to derive from symbol name 2022-08-03 15:02:46 -05:00
Ayaz Hafiz
b62c9d1faa
Support specialization of ability members that don't decay to functions 2022-08-03 10:16:22 -05:00
Ayaz
fa14146054
Merge pull request #3531 from rtfeldman/decode
Very basic Decode.roc in the standard library
2022-08-02 14:26:28 -05:00
Ayaz Hafiz
b8328c2b5b
Remove stray dbgs 2022-08-01 09:09:37 -05:00
Ayaz Hafiz
fd62c0172b
Add LateResolver to late_solve to extract types from world abilities 2022-08-01 09:05:58 -05:00
Ayaz Hafiz
b72c8705e5
Add an AbilityResolver trait for abilities stores and views 2022-08-01 08:09:24 -05:00
Ayaz Hafiz
9421336384
Fix runtime error 2022-07-31 19:45:47 -05:00
Folkert
47bbef30e8
when on 128-bit numbers 2022-07-29 14:09:50 +02:00
Ayaz Hafiz
59ab1da83f
Compile branches in the presence of degenerate patterns
Closes #3614
2022-07-22 18:16:02 -04:00
Ayaz Hafiz
f2fc6e16ec
Remove loc_branches which is never read 2022-07-22 17:29:20 -04:00
Ayaz Hafiz
4031770836
Mark branch patterns degenerate when they don't bind symbols body needs 2022-07-22 17:26:45 -04:00
Folkert
c2206f3e4d
substitute into expect 2022-07-21 10:42:56 -04:00
Folkert de Vries
ca38ec4eb5
Merge pull request #3541 from rtfeldman/rocasync
Changes to get roc-async working
2022-07-18 19:22:07 +02:00
Ayaz Hafiz
3c4a55f4c1
Fix layout of ZATs when they end up with a closure argument 2022-07-14 16:16:17 -04:00
Ayaz Hafiz
70c77596a3
Apply unnecessary lambda set arg correction 2022-07-14 12:38:53 -04:00
Ayaz Hafiz
20c2c308fa
Include ZATs in host exposed aliases 2022-07-14 12:26:11 -04:00
Folkert de Vries
1b1b63aad0
Merge branch 'trunk' into assoc-list-dict 2022-07-14 16:47:50 +02:00
Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict 2022-07-13 20:44:28 +02:00
Ayaz Hafiz
fe63140047
Clippy 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
76f7843c93
Enforce some simplifications 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
6413000579
Factor unloaded derived symbols check 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
a7b06fd7cf
Remove various dbgs 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
df9bcb1a0c
Use Derived_synth for synthesizing implementations, and Derived_gen for codegen 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
63adb901b4
A couple hacks to get deriving of records working.. but it's working? 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
91e3bfbd01
Fix tests 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
9826253785
Deriving string encoders works 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
445d922f3b
Compact lambda sets with structural derived ability impls 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
d8bee6cd18
Perfom derives from global derives module, not just symbol table 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
bee7d15aae
Comment out debugs for now 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
16e64263f6
Correctly monomorphize all derived methods 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
e8fb186d79
Load derived member impls into derived module for mono 2022-07-13 08:47:34 -04: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 de Vries
d889f1fda9
Merge pull request #3498 from rtfeldman/no-line-numbers-in-runtime-error-function
Remove compiler-file/line-dependent runtime error messages
2022-07-12 23:04:06 +02:00
Folkert de Vries
846bab7425
Merge pull request #3493 from rtfeldman/deep-copy-var-in-body
mono copy: deep copy all vars in an expr
2022-07-12 23:02:27 +02:00
Ayaz Hafiz
94142bf474
Remove compiler-file/line-dependent runtime error messages
This will help avoid the diff changes we've been running into often when
changes to mono line numbers change test results.
2022-07-12 15:17:19 -04:00