Anton-4
02cf61f985
Merge pull request #7038 from mulias/expr-dbg
...
Support `dbg` in expressions
2024-09-02 13:30:32 +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
Elias Mulhall
14fabdff07
Double the amount of indentation allowed in parser trace debugging
...
Increase from 36 levels of indentation to 80. This is excessive, but
it's confusing to have a parser test crash just because
parse_debug_trace is enabled.
2024-08-29 07:25:42 -04: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
Sam Mohr
12df3a04de
Merge attempt
2024-08-19 23:34:05 -07:00
Joshua Warner
6b6968632f
Merge branch 'main' into format-invisible-chars
2024-08-17 10:22:40 -07:00
Aidan
de6a31263a
DRY up my new normalize
code
2024-08-17 10:23:22 -04:00
Aidan
aef9d81eaa
simplify StrLiteral::Line
to StrLiteral::PlainLine
in block strings as well
2024-08-17 10:06:50 -04:00
Aidan
b0be698354
simplify StrLiteral::Line
to StrLiteral::PlainLine
when possible
2024-08-17 01:16:51 -04:00
Sam Mohr
b1a972ab21
Implement &foo
record updater syntax sugar
2024-08-16 01:41:59 -07:00
Sam Mohr
0fd0cc11aa
Format code
2024-08-14 22:26:32 -07:00
Sam Mohr
3bc5c1dc12
Combine ! and ? into single TrySuffix AST node
2024-08-14 22:14:08 -07:00
Luke Boswell
a5ae2608ea
fix incorrect name from merge
2024-08-14 09:13:57 +10:00
Luke Boswell
5c43bd2cee
Merge remote-tracking branch 'remote/main' into rebuild-platform
2024-08-14 09:12:12 +10:00
Sam Mohr
db0c49b38f
Fix merge issue
2024-08-13 00:30:26 -07:00
Sam Mohr
7e72541a79
Merge branch 'main' into builtin-task
2024-08-12 23:12:38 -07:00
Joshua Warner
2d9aa00771
Rename RemoveSpaces->Normalize
2024-08-12 23:05:55 -07:00
Joshua Warner
6835041a61
Normalize string encoding as part of RemoveSpaces
2024-08-12 23:05:45 -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
cb8040f629
Ignore underscore-prefixed fields in record builders
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
c49dc1b9d6
Merge pull request #6938 from joshuawarner32/fix-unreachable
2024-07-30 06:57:36 -07:00
Joshua Warner
939f9cb7e9
Give an error for record builders in patterns instead of crashing
2024-07-29 22:54:25 -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
4a5c00e81e
generates and generates_with fields removed from HostedHeader
2024-07-29 16:15:00 +10:00
Luke Boswell
eca453d07f
Merge remote-tracking branch 'remote/main' into builtin-task
2024-07-29 16:05:51 +10:00
Joshua Warner
df915b936d
Feedback: add doc comments, verbiage changes, capitalize Roc, remove a resolved TODO
2024-07-28 14:45:32 -07: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
Aidan
3c78b4fb86
functional changes
2024-07-27 12:16:04 -04:00
Luke Boswell
b489c44b19
Merge remote-tracking branch 'remote/main' into builtin-task
2024-07-19 19:51:50 +10:00
Anton-4
42a366481b
fix wasm repl warnings
2024-07-13 18:45:01 +02:00
Sam Mohr
b9a17f4a49
Merge pull request #6883 from smores56/new-builder-syntax
...
Implement new builder syntax alongside old one
2024-07-08 11:19:01 -07:00
Anton-4
6b2d2e3406
minor improvements
2024-07-08 14:11:22 +02:00
Kiryl Dziamura
ebf55fa793
fix region calculation
2024-07-08 11:39:03 +02:00
Kiryl Dziamura
b2484f144c
fix def replace
2024-07-08 11:39:03 +02:00
Kiryl Dziamura
64220567e5
better documentation for underscore pattern
2024-07-08 09:44:36 +02:00
Sam Mohr
618b713ecd
Merge branch 'main' into new-builder-syntax
2024-07-07 18:33:36 -07:00
Sam Mohr
fe1b6d71fc
Update from PR comments
2024-07-07 18:33:20 -07:00
Sam Mohr
f415017c90
Implement new builder syntax alongside old one
2024-07-07 03:28:59 -07: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
702092859e
Add pattern type for module params
2024-07-02 11:09:59 -03:00