Luke Boswell
8a566dc339
WIP
2024-11-11 10:22:58 +11:00
Sam Mohr
de124ecc3e
Finish adding tests
2024-11-02 21:58:25 -07:00
Sam Mohr
71b1fdebc4
Add canonicalization tests
2024-11-02 13:37:10 -07:00
Sam Mohr
b43a9e3edb
Remove out-of-date comment
2024-11-02 09:51:55 -07:00
Sam Mohr
308defac46
Implement the try
keyword with desugaring
2024-11-01 17:34:11 -07:00
Sam Mohr
facad9943d
Fix clippy issue
2024-10-29 20:30:27 -07:00
Sam Mohr
66cc96edbb
Address PR comments from @ayazhafiz
2024-10-29 15:58:35 -07:00
Sam Mohr
346a2d9467
Simplify tail-call checks
2024-10-26 16:29:14 -07:00
Sam Mohr
33d868117f
Fix clippy issue
2024-10-26 06:56:32 -07:00
Sam Mohr
39687fdb97
Merge branch 'main' into return-keyword
2024-10-26 06:50:16 -07:00
Sam Mohr
a9cd6ac5fa
Fix tailcalling
2024-10-26 06:48:01 -07:00
Sam Mohr
6a2ffb2f5a
Implement most of the recent round of PR feedback
2024-10-26 04:17:50 -07:00
Ayaz
e1183e58e5
Merge pull request #7179 from JRI98/unused_emptytuple
...
Remove unused EmptyTuple variant from FlatType enum
2024-10-25 09:19:57 -04:00
Sam Mohr
ca762127e5
Fix formatting and clippy errors
2024-10-24 23:11:20 -07:00
Sam Mohr
294f0c0d1f
Merge branch 'main' into return-keyword
2024-10-24 23:01:10 -07:00
JRI98
edd0bb553d
Remove unused EmptyTuple variant from FlatType enum
2024-10-22 16:29:53 +01:00
Richard Feldman
8997c80573
Remove deprecated roc_collections::soa things
2024-10-21 23:17:20 -04:00
Richard Feldman
d796b3ec74
Update insta tests
2024-10-21 23:09:55 -04:00
Richard Feldman
c9c7156db5
Fix insta tests
2024-10-21 22:10:44 -04:00
Richard Feldman
e589923ae8
Make collections::soa use the soa
crate
2024-10-21 22:10:43 -04:00
Richard Feldman
44d00e1f13
Updates for making soa
no_std
2024-10-21 22:10:43 -04:00
Richard Feldman
178bc469e6
Put back a bunch of the push_new etc. calls
2024-10-21 22:10:43 -04:00
Richard Feldman
49d1786f6c
Remove more push_new and extend_new usages
2024-10-21 22:10:43 -04:00
Richard Feldman
b2ea0b842c
Revert "Do some checked SoA stuff"
...
This reverts commit c79d7745f6eb345fd50a7cb4a2a7dd6fb6f8f1fc.
2024-10-21 22:10:43 -04:00
Richard Feldman
a8d3280b02
Do some checked SoA stuff
2024-10-21 22:10:42 -04:00
Sam Mohr
7518a2c5ab
Address PR comments, add syntax tests
2024-10-21 03:06:43 -07:00
Sam Mohr
b3e60f9d3a
Implement return keyword
2024-10-20 08:58:59 -07:00
Richard Feldman
beda934868
Merge pull request #7156 from roc-lang/soa
...
Make Subs use a more generic `soa` implementation
2024-10-12 18:03:00 -04:00
Richard Feldman
2567c8b545
Convert over Subs to use the new soa crate
2024-10-10 00:30:35 -04:00
Richard Feldman
586959780b
Revert "Try out converting subs to use soa stuff directly"
...
This reverts commit 4a7d7e42d6
.
2024-10-10 00:06:25 -04:00
Richard Feldman
4a7d7e42d6
Try out converting subs to use soa stuff directly
2024-10-10 00:06:22 -04:00
Richard Feldman
be0f1223eb
Update soa
2024-10-10 00:05:55 -04:00
Richard Feldman
ece46a28d0
Add soa
crate
2024-10-09 23:58:42 -04:00
hrishisd
cb98c45e88
Remove deprecated string interpolation syntax
2024-10-08 16:31:22 -04:00
Luke Boswell
afb247d4c3
ignore final suffix for annotated top-level defs
2024-09-29 10:57:18 +10:00
Luke Boswell
f1f7dddab7
remove old snap added by mistake in previous PR
2024-09-29 10:56:03 +10:00
Luke Boswell
05f970a826
add snapshot test
2024-09-24 09:17:43 +10:00
Luke Boswell
cce33c03d6
desugar ValueDef::Expect suffixed nodes
2024-09-23 17:57:25 +10:00
Sam Mohr
2ea6a5d79c
Merge branch 'main' into remove-old-record-builder
2024-09-21 04:54:03 -07:00
Sam Mohr
2da08be8ef
Remove old record builder syntax
2024-09-21 04:44:44 -07:00
Agus Zubiaga
5054c9990e
Desugar module param patterns before canonicalizing
2024-09-20 16:35:18 -03:00
Agus Zubiaga
3f9e957c9c
Extract record destructure desugaring into its own fn
2024-09-20 16:30:59 -03:00
Agus Zubiaga
3eadc03e28
Add failing test for multiline params
2024-09-20 16:19:56 -03:00
snobee
e82dd43465
Merge remote-tracking branch 'upstream/MAIN' into early-return-if-else
2024-09-06 17:11:28 -07:00
snobee
139f6ae82c
update tests for new Expr::If struct
2024-09-06 16:28:14 -07:00
Elias Mulhall
85aad0d000
Move comment explaining use of line_info
field into can::Env
struct definition
2024-09-05 20:13:54 -04:00
Elias Mulhall
25af18daaa
Cleanup unused function param
2024-09-05 20:13:54 -04:00
Elias Mulhall
19931ecd43
Support passing values into dbg
with the pipe operator
...
In order to desugar `dbg` in a pipeline we need to allow a bare `dbg`
node in desugaring and only report it as an error if the bare node
survives to the next step of canonicalization. This means we move the
error code out of `desugar_expr` and into `canonicalize_expr`. This is
much simpler to do now that these functions use the same `env` struct,
since previously we would have had to pass down extra args to
`canonicalize_expr`. Sharing the `env` struct means that we also don't
have to worry about calculating `line_info` more than once.
2024-09-05 20:13:54 -04:00
Elias Mulhall
b515bfa77e
Use a shared env for desugaring and the rest of canonicalization
...
This refactor simplifies the desugar pass by reducing the number of
arguments threaded through each recursive function call.
- Add the module src string to `Env`.
- Add `line_info` to `Env` as a lazy-evaled function.
- Refactor desugar functions to take the `can::Env` struct in place of a
number of params. This is mostly a find-and-replace, but in a few
places `Vec::from_iter_in` was changed to `Vec::with_capacity_in`
followed by a `for` loop in order to avoid lifetime issues.
- Remove unnecessary linter annotations for `clippy::too_many_arguments`
2024-09-05 20:13:48 -04:00
snobee
a7afac7ac7
Add boolean flag to Expr::If for indented else statement
2024-09-05 16:28:44 -07:00