Commit graph

1119 commits

Author SHA1 Message Date
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
Ayaz Hafiz
1c93727822
Add a notion of "openness" tag extensions suitable only for size-polymorphism 2023-01-16 10:52:23 -06:00
Folkert
ee99ae2372
WIP 2023-01-13 20:42:23 +01:00
Ayaz Hafiz
d43387d1be
Fix missing parameter in to_relevant_branch_help
main is currently broken because of a non-conflicting diff that landed
before the interner change landed.
2023-01-12 15:43:14 -06: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
1960f429bd
Cleanup of lints 2023-01-11 14:39:12 -06:00
Ayaz Hafiz
6e0e11ea79
Avoid needless re-entry to the interner 2023-01-11 14:39:12 -06:00
Ayaz Hafiz
68d6de79de
Don't make from_reserved_index public 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
856ee91642
Add layout interner tests and fix a bug with lambda set interner 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
55b8aaebda
Update roc glue 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
03ece6e274
Update llvm backend 2023-01-11 14:39:10 -06:00
Ayaz Hafiz
9d70c45781
Update wasm backend 2023-01-11 14:38:43 -06:00
Ayaz Hafiz
6859c2e15c
Update dev backend 2023-01-11 14:38:42 -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
Ayaz Hafiz
dc6b7003a8
Make layout methods easier on interner 2023-01-11 14:32:16 -06:00
Ayaz Hafiz
e14a0abb99
Store target info on layout interners 2023-01-11 14:32:16 -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