enso/app/ydoc-server
Kaz Wesley 4d4a2990a0
Distinguish assignment/thunk by statement context (#11324)
Align `Assignment`/`Function` distinction in AST with compiler's implemented semantics:
- The ambiguous case `funcOrVar = expression` is now parsed as a `Function` when in a `Type` definition or in the top level of a module. I.e. it is an `Assignment` in contexts where the RHS is evaluated immediately when the binding is evaluated, and a `Function` in contexts where the RHS is evaluated each time the bound name is evaluated.
- `Assignment` statements now may only occur in function bodies.

Correcting this distinction lays the groundwork for #11302.

Other changes:
- Fixed incorrect source code locations for negative literals and negated expressions.

# Important Notes
New APIs:
- The parser now exposes a `parse_block` entry point, which allows parsing input lines as if in the body of a function. The previous entry point has been renamed to `parse_module`.
2024-10-18 17:54:55 +00:00
..
src Distinguish assignment/thunk by statement context (#11324) 2024-10-18 17:54:55 +00:00
package.json Split ydoc server into separate module (#10735) 2024-08-08 12:12:05 +00:00
tsconfig.json Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
vitest.config.ts Split ydoc server into separate module (#10735) 2024-08-08 12:12:05 +00:00