Commit graph

94 commits

Author SHA1 Message Date
Kiryl Dziamura
64220567e5
better documentation for underscore pattern 2024-07-08 09:44:36 +02:00
Andy Ferris
664b1754d0
Print special float values as Num.nanF64, etc 2024-05-31 17:34:43 +10:00
Luke Boswell
2fe03e6c91
remove suffixed from Expr::Var 2024-04-28 08:47:08 +10:00
Luke Boswell
3c3e523b45
add suffixed to Identifer and QualifiedIdentifier 2024-04-14 13:45:00 +10:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Richard Feldman
aabd95404f
Merge remote-tracking branch 'origin/main' into remove-nat 2024-01-30 21:42:45 -05:00
Richard Feldman
7c19b42a99
Merge pull request #6457 from roc-lang/division-by-zero
Division by zero
2024-01-29 08:37:31 -05:00
Richard Feldman
3e27e18566
Merge remote-tracking branch 'origin/main' into remove-nat 2024-01-29 07:23:58 -05:00
Folkert
0b0127f45e
format infinite float as the ∞ utf8 symbol 2024-01-29 01:37:46 +01:00
Folkert
b0d57587e3
List.get with negative index in repl 2024-01-28 22:21:40 +01:00
Richard Feldman
76dcbee25f
Drop unused target_info from layout 2024-01-26 16:23:21 -05:00
Richard Feldman
70a1def63b
Update some docs to not reference Nat 2024-01-26 16:06:07 -05:00
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
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
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
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