Commit graph

983 commits

Author SHA1 Message Date
Ahmad Sattar
f80edb6ed6
Put list_element_layout! macro into mono 2023-01-28 02:01:02 +01:00
Ayaz
0672879fff
Merge pull request #4965 from roc-lang/recursive-layouts-rec-by-default
Support equivalence for finding lambda sets
2023-01-26 15:20:59 -06:00
Brian Carroll
e0b5247f3e
mono code_gen_help: decref should use element alignment, not List alignment 2023-01-26 20:05:16 +01:00
Brian Carroll
7228502965
mono: delete is_rc_implemented_yet, because everything is implemented! 2023-01-26 20:05:16 +01:00
J.Teeuwissen
957f44966c
start perceus reference count 2023-01-26 17:13:29 +01:00
Ayaz Hafiz
a294cae9cd
Don't store recursive unions by recursive pointer head-on 2023-01-25 18:05:43 -06:00
Ayaz Hafiz
36beda63ba
Lints 2023-01-25 18:00:32 -06:00
Ayaz Hafiz
478d4a2d44
Support lambda sets with recursive pointers and their equivalence-checking 2023-01-25 17:57:49 -06:00
Ayaz Hafiz
fa47e82d72
Implement equivalence of lambda sets 2023-01-25 17:20:42 -06:00
Ayaz Hafiz
61b11c9882
Single-threaded layout interner should resolve recursive pointer 2023-01-25 17:19:39 -06:00
Ayaz Hafiz
44acb7e047
Update recursive layout tests 2023-01-25 17:19:14 -06:00
Ayaz Hafiz
aab626bf3f
Remove resolve_recursive_layout 2023-01-25 16:21:05 -06:00
Ayaz Hafiz
7754cc553c
Turn the ir-checker back on 2023-01-25 16:18:47 -06:00
Ayaz Hafiz
c9afbce053
Add an up-to-isomorphism equivalence checker for layouts 2023-01-25 16:17:30 -06:00
Ayaz Hafiz
cb00619ce3
Return normalized representation of recursive union as the rec ptr 2023-01-25 15:16:48 -06:00
Ayaz Hafiz
741b1a1bd5
Always show one level of unions when printing layouts 2023-01-25 15:16:06 -06:00
Ayaz Hafiz
3382be6cb9
Chase recursive layouts as appropriate 2023-01-25 15:10:56 -06:00
Folkert
3417a0e059
fix silent merge request wrt record accessors 2023-01-25 00:02:19 +01:00
Ayaz
ad84e02abf
Merge pull request #4950 from roc-lang/keep-recptr-index
Initial support for linking recursive pointer layouts back to their source layouts
2023-01-24 14:42:00 -06:00
Folkert de Vries
8e5efe67b4
Merge pull request #4912 from roc-lang/remove-polymorphic-expression-compilation
Rip out polymorphic expression compilation
2023-01-24 21:35:08 +01:00
Folkert de Vries
7aaf0f3822
Merge pull request #4916 from roc-lang/rust1_65
upgrade to rust 1.65 and clippy fixes
2023-01-24 14:14:10 +01:00
Ayaz Hafiz
7f284a753b
Lints 2023-01-23 17:09:05 -06:00
Ayaz
a7c415dc35
Merge pull request #4940 from joshuawarner32/tuple-solve
Initial implementation of tuples in type checking
2023-01-23 16:25:35 -06:00
Ayaz Hafiz
efd7d71dc4
Use Layout::NAKED_RECURSIVE_PTR and update comments 2023-01-23 16:10:54 -06:00
Ayaz Hafiz
8edbd3b378
Eliminate uses of RECURSIVE_PTR directly 2023-01-23 16:04:55 -06:00
Ayaz Hafiz
37d9307fbf
Call insert_recursive for union layouts 2023-01-23 15:40:40 -06:00
Ayaz Hafiz
59144f6e29
Unused var 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
695b2e6363
Fix a bug by not recording normalized layouts 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
7169d0974d
Add support for interning normalized recursive layouts 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Anton-4
1f2b39a521
Merge branch 'main' of github.com:roc-lang/roc into rust1_65 2023-01-23 18:27:33 +01:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
J.Teeuwissen
28c18aa211
values_mut 2023-01-22 15:28:36 +01:00
Folkert
1ba4d9d735
WIP 2023-01-22 11:53:02 +01:00
Ayaz Hafiz
f0ab9f77ca
Don't mark accessors as thunks 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
6b491c617e
Store def name on accessor functions 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
36f8ed6478
Rip out polymorphic expression compilation
We no longer need this except for number literals, which are simple to
handle.
2023-01-21 12:37:09 -06:00
Folkert
bb44063419
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-01-18 20:06:26 +01:00
Anton-4
f00a9b1748
Merge branch 'main' into rust1_65
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 20:14:44 +01:00
Anton-4
4b929cfdb3
rust 1.65 updates for wasm target 2023-01-17 20:11:38 +01:00
Anton-4
88f218d24f
clippy fixes after merge 2023-01-17 18:24:38 +01:00
Anton-4
bbf35af8fa
Merge branch 'main' into rust1_65
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 18:14:30 +01:00
Anton-4
a97c53d7ca
1.65 changes and clippy fixes 2023-01-17 18:09:16 +01:00
Ayaz
c5788e62c6
Merge branch 'main' into tag-union-ext
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-01-16 16:32:02 -06:00
Ayaz Hafiz
ff625397ed
Fix wasm sizeof 2023-01-16 14:26:50 -06:00
Ayaz Hafiz
3109b2b00f
Store args/return layout in the lambda set specialization layout 2023-01-16 12:45:08 -06:00
Ayaz Hafiz
237bb6bcd5
Use env when constructing lambda sets rather than clearing their envs 2023-01-16 12:45:08 -06:00
Ayaz Hafiz
81d2d2923d
Remove lambda set recursion var as appropriate after construction 2023-01-16 12:45:08 -06:00
Ayaz Hafiz
8dc2a5daa7
Store args, return type on lambda set 2023-01-16 12:45:07 -06:00
Ayaz Hafiz
f08a8aa8c7
Fix release build 2023-01-16 10:54:39 -06:00