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
dependabot[bot]
cd3e2c8d36
Bump hashbrown from 0.12.2 to 0.12.3
...
Bumps [hashbrown](https://github.com/rust-lang/hashbrown ) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.12.2...v0.12.3 )
---
updated-dependencies:
- dependency-name: hashbrown
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 05:30:58 +00: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
Folkert
792936066c
Merge remote-tracking branch 'origin/trunk' into roc-std-platform
2022-08-07 13:28:03 +02: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
b4eda7c9d9
rework features for roc_std
2022-08-06 19:01:07 +02: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
d4e81ccbd2
Merge pull request #3695 from rtfeldman/derive-decoding-list
...
Derive decoding for lists!
2022-08-05 10:41:24 -05:00
Richard Feldman
26ee1a01bc
Merge pull request #3691 from rtfeldman/cargo_verson_change
...
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-05 09:13:04 -04: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
Anton-4
6a15a7b41b
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-03 11:41:19 +02: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