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
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
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 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
Richard Feldman
c03dc17ab4
Merge remote-tracking branch 'origin/main' into repl
2022-11-05 01:04:44 -04:00
Folkert
134de80150
various updates
2022-11-03 17:18:27 +01:00
Richard Feldman
d7fd72c905
Fix eval-ing functions in repl
2022-10-30 14:41:57 -04:00
Richard Feldman
51cb51d485
Gracefully recover from malformed closure in repl
2022-10-30 03:31:54 -04:00
Richard Feldman
0190787f7b
Revert "send panics to the repl more gracefully"
...
Now doesn't seem like the right time to do a change this invasive.
This reverts commit a36ddbf6cb
.
2022-10-30 03:12:53 -04:00
Richard Feldman
a36ddbf6cb
WIP send panics to the repl more gracefully
2022-10-30 03:12:41 -04:00
Richard Feldman
b7d3c77b76
Have the repl eval anyway if there are errors
2022-10-27 18:47:32 -04:00
Ayaz Hafiz
077508114d
Fix repl examination of FunctionOrTagUnion
2022-10-05 17:25:12 -05:00
Ayaz Hafiz
61cf8e53e6
Have FunctionOrTagUnion include multiple possible tags
2022-10-05 17:24:52 -05:00
Ayaz Hafiz
e31a16f650
Properly wrap with newtype-by-void layouts in repl
...
Closes #4208
2022-10-05 11:17:57 -05:00
Ayaz Hafiz
dfd0fdc990
Print bool correctly in repl
...
Closes #4149
2022-10-03 14:32:15 -05:00
Ayaz Hafiz
e50f8d4888
Remove debug assert
2022-09-21 12:29:07 -05:00
Ayaz Hafiz
baa86e283e
repl tests
2022-09-20 14:42:09 -05:00
Ayaz Hafiz
0c2b0b1bcc
Unwrap recursion var
2022-09-14 11:26:49 -05:00
Ayaz Hafiz
274f40e4e1
Print on unreachable
2022-09-14 11:26:47 -05:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout
2022-08-31 14:33:52 -05:00
Ayaz Hafiz
c5466810a4
Add LayoutInterner to LayoutCache
...
Adds a thread-local interner of layouts to LayoutCache, and updates all
references appropriately.
This is a bit suboptimal for single-threaded workloads that will look at
creating layout caches again, like the REPL, but I think that's okay for
now - since the global interner will be uncontested for those workloads, it
should still be plenty fast to access the interner, even behind a lock.
2022-08-31 14:33:51 -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
Ayaz Hafiz
e35a571aef
cargo fmt repl
2022-08-09 16:01:40 -07:00
Ayaz Hafiz
43d26b0a28
Handle recursive loops through pointers in repl
2022-08-09 16:01:16 -07:00
Folkert
546b702740
nullable wrapped tags
2022-08-06 14:40:00 +02:00
Folkert
7634c6f636
remove lifetimes where now possible
2022-07-26 00:08:17 +02:00
Folkert
2b93db1291
disentangle lifetimes
2022-07-26 00:05:41 +02:00