Commit graph

6945 commits

Author SHA1 Message Date
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
dependabot[bot]
e6ec4253e2
Bump rollup from 2.79.1 to 2.79.2 in /crates/compiler/checkmate/www
Bumps [rollup](https://github.com/rollup/rollup) from 2.79.1 to 2.79.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.79.1...v2.79.2)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 05:19:30 +00:00
Richard Feldman
3f3ee26504
Add some specialization tests 2024-09-27 22:20:55 -04:00
Richard Feldman
4bc872152e
Extract lower_vars helper 2024-09-27 21:55:29 -04:00
Richard Feldman
768e9cf81d
Fix monomorphizing tag-or-fn 2024-09-27 21:48:26 -04:00
Richard Feldman
1f9e47e68c
Fix a bunch of monomorphization stuff 2024-09-27 21:09:56 -04:00
Richard Feldman
fc3666b429
Revise specialize_types 2024-09-27 09:08:55 -04:00
Richard Feldman
f4f9bcb9dd
First pass at specialize_types 2024-09-26 22:09:23 -04:00
Anton-4
aa44e2c284
Merge pull request #7120 from roc-lang/statement-error-tip
add final expression tip
2024-09-27 01:32:02 +02:00
Luke Boswell
a76385e9db
Merge pull request #7115 from roc-lang/fix-7081
Desugar suffixed `ValueDef::Expect` nodes
2024-09-27 08:43:55 +10:00
Anton-4
0a0bc897f6
add final expression tip 2024-09-26 20:17:35 +02:00
Anton-4
63d95a2aba
fix tip 2 formatting
Forgot a `\` here. 

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-09-26 14:20:26 +02:00
Richard Feldman
b9fea8c6f4
Add specialize_types crate 2024-09-25 22:11:14 -04:00
Richard Feldman
87b7bb1fac
Fix "opaquees" in error message 2024-09-25 22:11:14 -04:00
Anton-4
1525ddd0d6
Merge branch 'main' into dict-update-with-a-result 2024-09-24 18:03:18 +02: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
Ayaz
5f3a956137
Merge pull request #6832 from roc-lang/ayaz/optimize-list-literal-alloc
Optimize literal list construction in LLVM backend
2024-09-23 02:50:24 -04:00
Ayaz
cef2c8ae87
Update build.rs
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2024-09-21 09:50:17 -04:00
Ayaz
9c656dd28e
Merge branch 'main' into ayaz/optimize-list-literal-alloc 2024-09-21 09:44:50 -04: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
Stuart Hinson
9745e1931c Dict.update alter fn is passed a Result 2024-09-19 20:46:44 -04:00
Luke Boswell
306394b98b
Merge pull request #7101 from roc-lang/dependabot/npm_and_yarn/crates/compiler/checkmate/www/multi-9423f4c335
Bump body-parser and express in /crates/compiler/checkmate/www
2024-09-19 17:54:26 +10:00
dependabot[bot]
584a6c2bd2
Bump body-parser and express in /crates/compiler/checkmate/www
Bumps [body-parser](https://github.com/expressjs/body-parser) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `body-parser` from 1.20.2 to 1.20.3
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 04:16:05 +00:00
Aurélien Geron
c10b25cf6e
Fixes #7065 in List.dropAt, author: @bhansconnect 2024-09-19 10:43:05 +12:00
Aurélien Geron
033d87034c
Add a test case for List.dropAt at an index located in the middle of the list 2024-09-19 10:05:48 +12:00
Brendan Hansknecht
3215a8f3d7
Merge pull request #7084 from roc-lang/tag-padding
Avoid explicit tag padding
2024-09-17 03:00:29 -07:00
Luke Boswell
49dedf0b7b
Merge branch 'main' into ayaz/optimize-list-literal-alloc 2024-09-17 19:44:02 +10:00
Brendan Hansknecht
4e3ec97d7a
generate array of alignment type to enforce tag data alignment 2024-09-16 17:10:49 -07:00
Brendan Hansknecht
a7eae239f0
Avoid explicit tag padding
Explicit padding changes the c-abi when passed to/returned from functions.
This is leading to incorrect loading of types like `Task U64 {}`.
2024-09-16 16:47:20 -07:00
Anton-4
4662c82ea8
cleanup pf.Task 2024-09-16 18:12:20 +02:00
snobee
6edee521cb
add tests 2024-09-06 19:34:11 -07: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
Sam Mohr
aadc74a37b
Merge branch 'main' into repl-no-color-no-header-flags 2024-09-06 15:52:18 -07:00
snobee
819db7fb44
fix formatting for indented else 2024-09-06 14:37:04 -07:00
snobee
35a0671c52
parse block without indentation after indented else 2024-09-06 14:35:47 -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
Luke Boswell
bb57c4a600
remove unneded basic-cli reference in test_reporting 2024-09-04 21:50:15 +10:00
Elias Mulhall
49a3f2d68e
Extract helper function to get the IdentIds related to a symbol's module 2024-09-03 14:09:16 -04:00
Elias Mulhall
f356f6f7a0
Do not display generated symbol names in error messages
When an error message reports on a symbol that was generated during
canonicalization, use text like "This value" instead of "This `123`
value". Generated symbols use the identifier index as the symbol name,
since valid Roc variables cannot begin with a number so there's no
chance of collision. We don't want to display generated symbols to the
user, so when building the error message we check if the symbol's name
starts with a digit.
2024-09-03 14:00:46 -04:00