Commit graph

9175 commits

Author SHA1 Message Date
Agus Zubiaga
b80f44738f
Switch fx mode based on platform main too 2024-11-07 18:54:16 -03:00
Agus Zubiaga
2c8571537e
Get suffix from IdentId or Symbol
IdentId will now reserve the MSB for flagging whether the ident
is suffixed with a `!`.
We will use this later to constrain identifiers to be effectful or pure.
2024-11-07 18:54:16 -03:00
Agus Zubiaga
69e026f8bb
Leftover statement warning for pure statements 2024-11-07 18:54:16 -03:00
Agus Zubiaga
6e6382ab23
Canonicalize and constrain statement expr in purity inference mode 2024-11-07 18:54:15 -03:00
Agus Zubiaga
460fa693fd
Desugar stmt expr before checking whether it's suffixed 2024-11-07 18:54:15 -03:00
Agus Zubiaga
01c94050c8
Detect fx mode based on hosted module 2024-11-07 18:54:15 -03:00
Agus Zubiaga
fd3fb16f7a
Add TODO to remove TryTarget::Task 2024-11-07 18:54:15 -03:00
Agus Zubiaga
8bde68cc5e
Restore parsing ! suffix
This reverts commit 52896d9fa65141df832989b326f526cbedf67341.

We actually still need this for when `!` follows a non-ident expr
2024-11-07 18:54:15 -03:00
Agus Zubiaga
aeeaab4b99
Desugar idents ending in ! to TrySuffix 2024-11-07 18:54:14 -03:00
Agus Zubiaga
56cdc749af
Do not attempt to parse ! suffix 2024-11-07 18:54:14 -03:00
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
f677592f97
Ignore unused fx vars in mono 2024-11-07 18:54:14 -03:00
Agus Zubiaga
bc3ab0186a
Generate effectful hosted functions 2024-11-07 18:54:13 -03:00
Agus Zubiaga
7af05cc6c9
Constrain function annotation fx to body 2024-11-07 18:54:13 -03:00
Agus Zubiaga
b9b85a222f
Do not use const fx vars when canonicalizing annotations 2024-11-07 18:54:13 -03:00
Agus Zubiaga
7776883262
Unify functions fx vars 2024-11-07 18:54:13 -03:00
Agus Zubiaga
5a5abe3bc5
Unify call's fx var with that of the enclosing function 2024-11-07 18:54:12 -03:00
Agus Zubiaga
7871ba182d
Remove irrelevant TODO 2024-11-07 18:54:12 -03:00
Agus Zubiaga
e8d7820f34
Add fx var to can's Call 2024-11-07 18:54:12 -03:00
Agus Zubiaga
3cef756559
Add fx var to Type::Function et al 2024-11-07 18:54:12 -03:00
Agus Zubiaga
75177c9c98
Rename effect_type to fx_type and add to FunctionDef 2024-11-07 18:54:12 -03:00
Agus Zubiaga
386a5055ee
Add effect_type to can ClosureData 2024-11-07 18:54:11 -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
Agus Zubiaga
1a5776653c
Merge pull request #7203 from roc-lang/improve-unhandled-syntax-err 2024-11-06 20:52:31 -03:00
Agus Zubiaga
2238755de3
Merge pull request #7202 from roc-lang/report-return-syntax-err
Report `return` syntax errors
2024-11-06 12:54:41 -03:00
Agus Zubiaga
a7634f3c5f
Improve unhandled errors in to_syntax_report 2024-11-06 12:54:17 -03:00
Agus Zubiaga
3722cb9596
Improve unhandled BadInput syntax errors 2024-11-06 12:47:43 -03:00
Agus Zubiaga
7bd15292ac
Improve unhandled packages syntax errors 2024-11-06 12:46:17 -03:00
Agus Zubiaga
4a6955d096
Improve unhandled requires syntax errors 2024-11-06 12:45:18 -03:00
Agus Zubiaga
f2f0db198b
Improve unhandled imports syntax errors 2024-11-06 12:42:36 -03:00
Agus Zubiaga
168af093f2
Improve unhandled exposes syntax errors 2024-11-06 12:42:07 -03:00
Agus Zubiaga
20ce5aef04
Improve unhandled provides syntax errors 2024-11-06 12:41:11 -03:00
Agus Zubiaga
0e97bfa29f
Improve unhandled type syntax errors 2024-11-06 12:40:07 -03:00
Agus Zubiaga
9c742caf9b
Improve unhandled pattern errors 2024-11-06 12:36:52 -03:00
Agus Zubiaga
160dbee943
Nicer message for unhandled expr errors 2024-11-06 12:15:38 -03:00
Agus Zubiaga
b9a693c077
Replace wildcard todos in parser reporting with explicit matches
This will helps us remember to add good errors when making
syntax changes.
2024-11-06 11:12:21 -03:00
Agus Zubiaga
f4c8492c1c
Report return syntax errors 2024-11-06 10:50:32 -03:00
Agus Zubiaga
c1a82ae59b
Merge pull request #7199 from roc-lang/fix-imports-in-expect-7025 2024-11-06 07:56:21 -03:00
Agus Zubiaga
0dedab1725
Fix imports in expects #7025 2024-11-05 19:13:29 -03:00
Agus Zubiaga
6c505a4dc8
Add test for fixed issue 7116 2024-11-05 18:12:56 -03:00
Agus Zubiaga
625a5425f4
Unify import params on copied variable 2024-11-05 18:10:01 -03:00
Anton-4
544a5dcfec
Merge pull request #7190 from jfkonecn/llm-docs
Llm docs
2024-11-05 10:54:32 +01:00
John Konecny
470380993d
Addessed PR comments 2024-11-04 09:40:24 -05:00
John Konecny
d01ce48c97
Added LLM Prompt 2024-11-03 12:06:51 -05: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