mirror of
https://github.com/enso-org/enso.git
synced 2025-01-03 19:21:54 +03:00
4d4a2990a0
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`. |
||
---|---|---|
.. | ||
common/src | ||
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test | ||
language-server | ||
launcher/src | ||
polyglot-api/src | ||
polyglot-api-macros/src/main | ||
runner | ||
runner-common/src/main | ||
runtime | ||
runtime-benchmarks/src/main | ||
runtime-compiler/src | ||
runtime-instrument-common/src | ||
runtime-instrument-id-execution/src/main/java | ||
runtime-instrument-repl-debugger/src/main/java | ||
runtime-instrument-runtime-server/src/main/java | ||
runtime-integration-tests/src/test | ||
runtime-language-arrow/src | ||
runtime-language-epb/src | ||
runtime-parser/src | ||
runtime-suggestions/src/main | ||
runtime-test-instruments/src/main/java | ||
README.md |
The Enso Engine
The Enso engine is the codebase responsible for compiling and executing Enso code, as well as providing language server functionality to users of the language. It is subdivided into two major components:
- Language Server: The Enso language service.
- Polyglot API: The truffle-boundary safe API for communication between the language server and the runtime.
- Runner: The command-line interface for Enso.
- Runtime: The compiler and interpreter for Enso.