Ayaz Hafiz
1e49622b61
Clippy
2022-08-31 14:36:44 -05:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout
2022-08-31 14:33:52 -05:00
Ayaz Hafiz
ed04c2040a
Push the layout interner through the backends
2022-08-31 14:33:52 -05:00
Ayaz Hafiz
261cd75a71
Invalidate layout-cached variables correctly after merging
2022-08-31 14:33:50 -05:00
Ayaz Hafiz
7c215f9273
Remove stray dbgs
2022-08-31 14:17:15 -05:00
Ayaz Hafiz
ea2e5d171a
Invalidate layout-cached variables correctly after merging
2022-08-31 14:17:14 -05:00
Ayaz Hafiz
3856ea6199
Implement a cache policy - don't cache recursive pointers without a recursive layout
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
d757701426
First pass at layout caching
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
8b0f7dc82f
Propagate layout_cache throughout Env in generating layout
...
Sets up actually using the LayoutCache to get cached layouts.
2022-08-31 14:16:42 -05:00
Folkert de Vries
c06e5cfa32
Merge pull request #3769 from roc-lang/expect-fx-codegen
...
expect fx codegen
2022-08-24 19:48:42 +02:00
Ayaz Hafiz
238464c505
Get rid of a redundant subs snapshot
2022-08-24 09:01:02 -05:00
Ayaz Hafiz
2afad0127f
Replace snapshot of subs/layout directly with "TypeState" snapshots
2022-08-24 08:53:21 -05:00
Ayaz Hafiz
e5034e7331
Add tracing for external specializations
2022-08-23 14:32:24 -05:00
Ayaz Hafiz
848facb386
Add roc_tracing crate and initial traces in mono
2022-08-23 12:47:41 -05:00
Folkert
a22e04361c
Merge remote-tracking branch 'origin/main' into expect-fx-codegen
2022-08-23 16:28:21 +02:00
Folkert
e9f66a6385
Merge remote-tracking branch 'origin/main' into i3696
2022-08-22 23:02:35 +02:00
Folkert de Vries
2b0bf7839e
Merge pull request #3819 from roc-lang/deep-record-decoding
...
Mono fixes for supporting deep record decoding deriving
2022-08-21 13:33:40 +02:00
Ayaz Hafiz
cc78d4d180
Start all make_specializations from the top, suspending not to FindSpecializations
2022-08-19 22:20:57 -05:00
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
fc4979e2ce
Add ClosureCallOptions enum to describe how to switch calling lambda
2022-08-19 22:16:40 -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
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