Commit graph

484 commits

Author SHA1 Message Date
Ayaz
2f251310c0
Merge pull request #5010 from roc-lang/tuple-record-unify
Unify IR generation for tuples and records
2023-02-20 18:40:52 -06:00
Folkert
958d44a21c
cleanup 2023-02-20 22:25:48 +01:00
Folkert
68524ef07e
generate callers based on layout traversal 2023-02-20 22:05:35 +01:00
Folkert
90c45a197b
use extracted functions 2023-02-18 17:57:50 +01:00
Folkert
784ebde24b
helper functions 2023-02-18 17:34:41 +01:00
Folkert
edd10a079c
create hook for future glue proc codegen 2023-02-18 17:34:23 +01:00
Folkert
b6bae82913
hello world works 2023-02-14 22:11:23 +01:00
Ayaz Hafiz
2903ec4ac2
Remove obsolete comments 2023-02-13 10:54:05 -06:00
Folkert
6c15284a8f
more wip; now we just need to generate the exposed procs at the right time 2023-02-08 22:56:38 +01:00
Ayaz Hafiz
a22dcb5784
Unify record and tuple access 2023-02-08 11:13:36 -05:00
Ayaz Hafiz
1ee5f9d02b
Unify logic for building record and tuple IR 2023-02-08 11:03:02 -05:00
Joshua Warner
5a6be05ead
implement mono / lowering for tuples 2023-02-07 18:54:50 -08:00
Ayaz Hafiz
1e22a2bbcd
Layout-cache variable invalidation must compare by root keys
After unification, variable roots can change. So, when we invalidate
entries in the layout cache, we must compare for variable equivalence
relative to the current state of subs.
2023-01-30 13:06:44 -06:00
J.Teeuwissen
957f44966c
start perceus reference count 2023-01-26 17:13:29 +01: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
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
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
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 Hafiz
3109b2b00f
Store args/return layout in the lambda set specialization layout 2023-01-16 12:45:08 -06:00
Folkert
ee99ae2372
WIP 2023-01-13 20:42:23 +01:00
Richard Feldman
41a7304e77
Merge pull request #4854 from roc-lang/intern-layouts-6
Intern all the layouts
2023-01-12 15:45:14 -05:00
Folkert
6ead631c82
generate the RocFunction struct 2023-01-11 23:05:32 +01:00
Ayaz Hafiz
4c79f36954
Update wasm layout sizes 2023-01-11 14:39:12 -06:00
Ayaz Hafiz
45aa9768f7
Hide lambda set runtime representation 2023-01-11 14:38:42 -06:00
Ayaz Hafiz
fa8effd3e8
Make all layouts interned in mono 2023-01-11 14:38:41 -06:00
Folkert
cf15654ee5
implement standard as patterns in mono IR 2023-01-11 14:18:13 +01:00
Richard Feldman
94ccb0fd8d
Merge pull request #4849 from roc-lang/intern-layouts-5-lambda-set-layout-cache
Reduce layout intern allocations
2023-01-10 20:35:09 -05:00
Ayaz
9a146d80a4
Merge pull request #4874 from roc-lang/borrow-own-host-exposed
force host-exposed to always own params
2023-01-10 14:09:09 -06:00
Folkert
a9cd6c6832
test forcing host-exposed always owning params 2023-01-10 19:17:39 +01:00
Ayaz
73020ca696
Merge pull request #4869 from roc-lang/josh-recursive-union-bug-2
Skip nullable ID in nullable wrapped tags when iterating
2023-01-10 12:05:42 -06:00
Ayaz Hafiz
ce717dca8b
Do not require allocating Layouts in arena before interning
This should reduce memory spend, the interner has its own effective
arena anyway
2023-01-10 09:47:13 -06:00
Folkert de Vries
61a2091b27
Merge pull request #4851 from JTeeuwissen/main
replace borrowed boolean with ownership enum
2023-01-09 23:24:39 +01:00
Ayaz Hafiz
b2688dd3b1
Skip nullable ID in nullable wrapped tags when iterating 2023-01-09 11:54:51 -06:00
J.Teeuwissen
b28b32cdc4
moved Ownership to borrow 2023-01-09 18:15:34 +01:00