Ayaz Hafiz
099fbf46eb
Suspend specialization of symbols that collide with an active specialization
...
It's possible to end up in a situation where you attempt to specialize a
symbol while it's being specialized for another type; see the examples
in the diff. In this case, we need to treat the later specialization as
suspended, and recover it later.
2022-08-19 22:20:57 -05:00
Ayaz Hafiz
0606086eb6
Compare values with runtime representation
2022-08-19 22:16:41 -05:00
Ayaz Hafiz
d8a8dff70d
Treat unwrapped capture sets as unwrapped directly
2022-08-19 22:16:41 -05:00
Ayaz Hafiz
64fc60f55f
Make lambda set set
private
2022-08-19 22:16:41 -05:00
Ayaz Hafiz
a93735473a
Describe how a enum lambda set should be switched in the representation
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
f5e3105b37
Use extend_argument_list to add lambda set arguments
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
c003b2d007
Simplify ClosureInfo and enum lambda set switching, which never captures
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
d6572ef3b7
Match over call options in determining whether to extend lambda set arg
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
d4a79780b3
Determine whether to extend lambda set arg to call args by checking call options
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
62dde549e6
Determine whether lambda set is represented as an arg
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
fc4979e2ce
Add ClosureCallOptions enum to describe how to switch calling lambda
2022-08-19 22:16:40 -05:00
Ayaz Hafiz
8d01e81aa7
Use tag union/recursive tag union layout function for lambda sets
2022-08-19 22:16:39 -05:00
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
Folkert de Vries
0798f787c5
Merge pull request #3736 from rtfeldman/i3687
...
Creation of a record whose type has an optional value is an error
2022-08-11 15:51:41 +02:00
Ayaz Hafiz
81bb889e93
Add RigidOptional record field variant
2022-08-10 20:24:18 -07:00
Ayaz Hafiz
ee188b8e85
use layout_from_recursive_union to generate lambda set recursive layouts
2022-08-09 16:45:35 -07:00
Ayaz Hafiz
021cc6e506
Support non-nullable-unwrapped recursive lambda sets
2022-08-09 15:17:16 -07:00
Ayaz Hafiz
1a09f3e0e6
Make sure checking captures layouts chases recursion pointers
2022-08-09 14:57:59 -07:00
Ayaz Hafiz
ba2768c9b0
Build member layouts for recursive lambda sets
2022-08-09 14:44:09 -07:00
Ayaz Hafiz
a4bb6879bc
Resolve recursive pointer lambda set layouts when unpacking captures
2022-08-09 14:43:36 -07:00
Ayaz Hafiz
549b00d327
Handle recursive variables in building lambda set representations
2022-08-09 14:11:02 -07:00
Richard Feldman
090ed922e3
Merge pull request #3714 from rtfeldman/expect-recursive-unions
...
expect recursive unions
2022-08-07 00:36:10 -04:00
Folkert
546b702740
nullable wrapped tags
2022-08-06 14:40:00 +02:00
Brian Carroll
50326f7e0b
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-code-gen-fixes-i3448
2022-08-06 10:12:24 +01:00
Brian Carroll
aa0e9e8d31
wasm: Get RC reset/reuse working correctly
2022-08-06 09:58:47 +01: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
Folkert
d0f1500dad
implement when on multiple string patterns
2022-07-29 12:13:21 +02:00
Folkert de Vries
d212dffa1a
Merge pull request #3616 from rtfeldman/i3614
...
Compile branches in the presence of degenerate patterns
2022-07-25 19:45:36 +02:00
Richard Feldman
cc790a2773
fixup! Rename bindgen_rs to rust_glue
2022-07-24 11:54:40 -04:00
Richard Feldman
daec85a75e
Merge pull request #3621 from rtfeldman/expect-memcpy
...
Clone more values into shared expect buffer
2022-07-23 23:00:54 -04:00
Folkert
c09cb4e3ea
fix stack size of empty tag union
2022-07-23 23:10:56 +02:00
Folkert
48e0938e8b
fix merge conflict
2022-07-23 15:46:41 +02:00
Folkert
93c331e1aa
Merge remote-tracking branch 'origin/trunk' into tag-alignment
2022-07-23 14:27:06 +02:00