Commit Graph

115 Commits

Author SHA1 Message Date
Folkert
44777c5cac
fix recursive tag memory layout 2023-09-14 14:39:15 +02:00
Folkert
5557fb7e34
repl helper codegen 2023-09-14 14:39:12 +02:00
Folkert
c75f46b369
clippy 2023-09-13 20:24:16 +02:00
Folkert
3560498106
sort tag fields back into user/syntax order in the repl 2023-09-13 20:24:15 +02:00
Richard Feldman
dbf928bc46
Reorganize ReplState logic for cli/wasm compat 2023-09-08 15:37:16 -04:00
Ayaz Hafiz
7ea85e44d2
Add Layout::Erased 2023-07-12 14:43:24 -05:00
Ayaz Hafiz
6312d75ee0
Add FunctionPointer layout 2023-07-12 13:59:50 -05:00
Ayaz Hafiz
44c4797d9a
Parameterize program solving on a FunctionKind
This new flag determines whether we should introduce a new kind to
represent lambda sets, or whether lambdas should be erased. The latter
is not yet implemented.
2023-07-12 13:53:50 -05:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Folkert
6d2d65bb1e
remove Boxed layout 2023-07-09 15:47:28 +02:00
Folkert
17512873e8
add LayoutRepr::Ptr 2023-06-24 14:49:45 +02:00
Ayaz Hafiz
14c2548828
Unnecessary static 2023-06-19 21:11:24 -05:00
Ayaz Hafiz
ca57cce93c
Correctly interpret reordered tag union payloads
Closes #5517
2023-06-19 21:11:23 -05:00
Ayaz Hafiz
bc41db2a34
Get rid of passing target_info a bunch 2023-06-17 18:13:00 -05:00
Ayaz Hafiz
5274dbcd00
Add a Newtype variant to LayoutWrapper 2023-06-06 16:03:52 -05:00
Ayaz Hafiz
457cdabc5c
Make repr private and accessible only via the interner 2023-06-06 16:01:27 -05:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant 2023-05-16 11:58:16 -05:00
Ayaz Hafiz
6b537864c6
Drop unnecessary intern 2023-05-10 16:02:44 -05:00
Ayaz Hafiz
4296d5a349
Drop Layout::struct_no_name_order 2023-05-10 15:58:51 -05:00
Ayaz Hafiz
c3eeb5e2cc
Wrap layouts in a LayoutRepr constructor
Part 1 of support semantic layout representations.
2023-05-10 13:22:10 -05:00
Ayaz Hafiz
759a9976b6
Fix repl evaluation of tuples
Closes #5325
2023-05-01 16:38:50 -05:00
Folkert
4cd8f0a056 clippy --fix fixes 2023-04-21 12:05:51 +02:00
Ayaz Hafiz
250f4ea046
Correct repl evaluation of toplevel numbers
Closes #5191
2023-04-13 10:48:46 -05:00
Brendan Hansknecht
8f4945f286
make file loading errors that happen late in compilation still fatal 2023-04-09 14:03:33 -07:00
Ayaz
6d8ddcc583
Merge branch 'main' into i5169
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-03-22 09:02:03 -04:00
Ayaz Hafiz
41541b01e6
Pattern is exhaustive 2023-03-21 13:54:17 -04:00
Ayaz Hafiz
4c2f8f3566
Support tuples in the repl
Closes #5148
2023-03-21 13:53:07 -04:00
Ayaz Hafiz
6ea6aef0db
Fix repl eval of Str.toDec
Closes #5169
2023-03-21 12:22:08 -04:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit 2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded 2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec 2023-03-06 16:36:18 -08:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -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
83dc08b3b4
add expected test output 2023-01-14 15:19:25 +01:00
Folkert
148ec3752d
fix bug with record field ordering in repl eval 2023-01-14 15:09:12 +01:00
Ayaz Hafiz
c3e2e7aade
Update repl eval 2023-01-11 14:39:11 -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
Ayaz Hafiz
50826d1a83
Inline interners into the layout interner module
I realized that we'll need to make the layout interner more complicated
to support things like recursive pointers pointing to their parents and
to support lambda set layout caching. Since the layout interner is the
only user of intern crate right now anyway, just inline the whole thing.
2023-01-03 14:19:39 -06:00
Ayaz Hafiz
947158b17e
Stub out layout interners into own module 2023-01-03 10:07:12 -06:00
Ayaz Hafiz
972046445b
Lift Niche from just captures-niche to generic niche 2022-12-29 18:43:26 -06:00
Ayaz
ea53a50447
Merge pull request #4836 from roc-lang/intern-layouts-2
Intern list element layouts and thread mut layout interner through LLVM backend
2022-12-29 18:41:35 -06:00
Ayaz
7076c889a5
Merge pull request #4828 from roc-lang/refactor-build
Refactor build
2022-12-29 18:41:22 -06:00
Folkert
26e5ac85d4
remove argument from the from_str functions 2022-12-29 16:50:19 +01:00
Ayaz Hafiz
e4b5252e51
List takes interned element 2022-12-29 08:52:37 -06:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts 2022-12-28 18:51:26 -06:00
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Ayaz Hafiz
f809bf310b
Do not unwrap number aliases all the way 2022-12-13 09:32:20 -06:00
Ayaz Hafiz
8bd61d9408
Make sure byte-sized tag unions are printed as unions in the repl
Closes #4713
2022-12-12 18:01:22 -06:00
Ayaz Hafiz
304b88cdb2
Fix bug in expect test 2022-12-02 16:20:56 -06:00
Ayaz Hafiz
7e512077e7
Fix imports for repl 2022-12-02 14:11:58 -06:00