Agus Zubiaga
215de707fa
Report unsuffixed record literal field with effectful function
2024-11-07 18:54:20 -03:00
Agus Zubiaga
ea35094b28
Remove flex var case when checking symbol suffix
2024-11-07 18:54:20 -03:00
Agus Zubiaga
2859829ea8
Mark flex fx vars as pure after solving body
2024-11-07 18:54:19 -03:00
Agus Zubiaga
89a918cebe
Fix unifying pure with flex vars
2024-11-07 18:54:19 -03:00
Agus Zubiaga
6533e9084d
Add fx to ErrorType
2024-11-07 18:54:19 -03:00
Agus Zubiaga
8a65617704
Effectful function in docs
2024-11-07 18:54:19 -03:00
Agus Zubiaga
28f35edb2c
Add Pure/Effectful content to checkmate
2024-11-07 18:54:19 -03:00
Agus Zubiaga
025600c6a7
Fix non-sensical error message
2024-11-07 18:54:18 -03:00
Agus Zubiaga
31bc3670df
Ignore errors in statement checks
2024-11-07 18:54:18 -03:00
Agus Zubiaga
9a5a5c3462
Remove irrelevant todos
2024-11-07 18:54:18 -03:00
Agus Zubiaga
6adc6d9168
Report ignored statement results
2024-11-07 18:54:18 -03:00
Agus Zubiaga
b01771c5ae
Show effectful function name in mismatches
2024-11-07 18:54:18 -03:00
Agus Zubiaga
f666dba67d
Report effectful top-level exprs
2024-11-07 18:54:17 -03:00
Agus Zubiaga
b62665e49e
Report effectful statement in pure function
2024-11-07 18:54:17 -03:00
Agus Zubiaga
fd2493ee51
Report effect call in pure function
2024-11-07 18:54:17 -03:00
Agus Zubiaga
839078b5d1
Test aliased unsuffixed effectful function
2024-11-07 18:54:17 -03:00
Agus Zubiaga
d22b2a79f5
Suffixed pure function warning
2024-11-07 18:54:17 -03:00
Agus Zubiaga
1da8af390b
Unsuffixed effectul function warning
2024-11-07 18:54:16 -03:00
Agus Zubiaga
75856ae804
Support !
in symbols provided to host
2024-11-07 18:54:16 -03:00
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
160dbee943
Nicer message for unhandled expr errors
2024-11-06 12:15:38 -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