Agus Zubiaga
7a7650c11d
Parse lowercase idents ending in !
2024-11-07 18:54:14 -03:00
Agus Zubiaga
2cce5ad023
Allow unsuffixed statements in parser
...
Moves the "STATEMENT AFTER EXPRESSION" error from the parser to canonicalization.
We'll later use this to allow this case in effectful functions.
2024-11-07 18:54:14 -03:00
Agus Zubiaga
d692fc7c42
Format effectful arrows in annotations
2024-11-07 18:54:11 -03:00
Agus Zubiaga
ef4eeb5c1a
Parse effectful arrow in function annotations
2024-11-07 18:54:11 -03:00
Sam Mohr
de124ecc3e
Finish adding tests
2024-11-02 21:58:25 -07:00
Sam Mohr
012387b1ff
Fix tests broken by recent internal syntax changes
2024-10-25 04:23:48 -07:00
Sam Mohr
294f0c0d1f
Merge branch 'main' into return-keyword
2024-10-24 23:01:10 -07:00
Richard Feldman
21dd2ad85d
Update parsing snapshot tests
2024-10-21 23:19:25 -04:00
Sam Mohr
7518a2c5ab
Address PR comments, add syntax tests
2024-10-21 03:06:43 -07:00
Luke Boswell
0271f2eeb2
Merge pull request #7151 from hrishisd/deprecate-old-str-interpolation
...
Remove deprecated string interpolation syntax #7148
2024-10-09 11:21:18 +11:00
hrishisd
cb98c45e88
Remove deprecated string interpolation syntax
2024-10-08 16:31:22 -04:00
Brendan Hansknecht
7ae5242c1b
fix syntax snapshot tests
2024-10-07 21:16:30 -07: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
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
Agus Zubiaga
2469a3aa2d
Merge pull request #7050 from roc-lang/arg-patterns-as
2024-09-02 14:02:17 -03:00
Agus Zubiaga
2486ce0e48
fmt: Add parens around as
patterns in arguments
2024-09-02 11:54:34 -03:00
Anton-4
02cf61f985
Merge pull request #7038 from mulias/expr-dbg
...
Support `dbg` in expressions
2024-09-02 13:30:32 +02:00
Anton-4
e7a44430fd
update to basic cli 15
2024-08-31 14:30:07 +02:00
Elias Mulhall
56c5b790a7
Refactor dbg expression parsing to work more like function application
...
Instead of parsing dbg with an expression block, parse the dbg keyword
with no additional arguments. This way the parser treats dbg just like a
variable in function application. We desugar by pattern matching on
`Apply(Dbg, args, called_via)` nodes. This changes the output of syntax
tests since the initial AST is different, but does not change the output
of can or mono.
Add two new errors for dbg in expression position with either no args or
too many args. This is similar to the error behavior of `crash`.
Continue to parse dbg statements with an expression block, as before.
2024-08-29 15:36:48 -04:00
Anton-4
7938e4bdc8
basic-cli 0.15, test fixes
2024-08-28 18:39:15 +02:00
Elias Mulhall
335265e15c
Parse dbg in expression position
...
Add dbg parsing logic everywhere we parse normal expressions. Add
special case to statement parsing to handle a series of statements
ending in a `dbg` in expression position.
Rename existing `dbg_help` function to `dbg_stmt_help`, similarly rename
syntax snapshot test files to specify which ones are for dbg statements.
2024-08-28 11:53:44 -04:00
Elias Mulhall
43d932df3b
Update parser AST to support dbg as both a statment and expression
...
Make `Expr::Dbg` node specific to dbg expressions, add `Expr::DbgStmt`
for dbg statements. Debug expressions don't have a continuation branch.
Support formatting both kinds of `Dbg` nodes.
2024-08-28 11:53:44 -04:00
Luke Boswell
10241b3f98
Merge remote-tracking branch 'remote/main' into builtin-task
2024-08-24 09:53:08 +10:00
Anton-4
44b8abdead
update to basic-cli 0.14
2024-08-23 15:50:05 +02:00
Sam Mohr
12df3a04de
Merge attempt
2024-08-19 23:34:05 -07:00
Sam Mohr
b1a972ab21
Implement &foo
record updater syntax sugar
2024-08-16 01:41:59 -07:00
Sam Mohr
3bc5c1dc12
Combine ! and ? into single TrySuffix AST node
2024-08-14 22:14:08 -07:00
Sam Mohr
7e72541a79
Merge branch 'main' into builtin-task
2024-08-12 23:12:38 -07:00
Agus Zubiaga
b451e69b20
Merge branch 'main' into typecheck-module-params
2024-08-12 22:27:16 -03:00
Joshua Warner
0abea91796
Rename Full -> FullAst
2024-08-10 16:06:01 -07:00
Joshua Warner
d25c048d48
Move Full from fmt to parse and reorganize confusingly-named Module ast type
2024-08-07 23:01:49 -07:00
Agus Zubiaga
762799052e
Merge branch 'main' into typecheck-module-params
2024-08-07 18:55:33 -03:00
Sam Mohr
00bc699642
Add syntax tests for record builder
2024-08-06 22:49:35 -07:00
Sam Mohr
8288af3156
Merge branch 'main' into builtin-task
2024-07-31 13:36:32 -07:00
Joshua Warner
ca037c5d0e
Merge branch 'main' into fix-deprecated-interpolated-formatting
2024-07-29 17:40:23 -07:00
Joshua Warner
4e8b36adbf
Fix auto-fixing of deprecated interpolated strings
2024-07-29 17:37:55 -07:00
Aidan
ddb58a2cd5
spaces_middle
-> lines_between
2024-07-29 13:06:48 -04:00
Aidan
91fdd903e7
comment
-> spaces_middle
2024-07-29 10:04:32 -04:00
Aidan
125990855f
Merge branch 'main' into store-all-space-between-annotation-body
2024-07-29 09:46:05 -04:00
Luke Boswell
eca453d07f
Merge remote-tracking branch 'remote/main' into builtin-task
2024-07-29 16:05:51 +10:00
Aidan
62dbe9fb53
update snapshots
2024-07-27 17:19:02 -04:00
Joshua Warner
4f32f43048
Implement block / indent based parsing
...
... and enforce that defs can only occur in blocks (or, inside parenthesized expressions)
2024-07-27 13:34:16 -07:00
Luke Boswell
b489c44b19
Merge remote-tracking branch 'remote/main' into builtin-task
2024-07-19 19:51:50 +10:00
Anton-4
3a36d84c45
update to basic-cli 0.12
2024-07-10 20:07:03 +02:00
Kiryl Dziamura
2cad4b3e21
update test snapshots
2024-07-08 11:51:29 +02:00
JRI98
25084b18ec
Fix handling of spaces after for as
2024-07-05 09:40:56 +01:00
Sam Mohr
f61b303a59
Merge branch 'main' into builtin-task
2024-07-03 00:42:48 -07:00
Agus Zubiaga
90c7745989
Capture import params location for better errors
2024-07-02 11:09:56 -03:00