mirror of
https://github.com/enso-org/enso.git
synced 2024-11-27 06:32:30 +03:00
66e2135b0d
The mechanism follows a similar approach to what is being in functions with default arguments. Additionally since InstantiateAtomNode wasn't a subtype of EnsoRootNode it couldn't be used in the application, which was the primary reason for issue #181449213. Alternatively InstantiateAtomNode could have been enhanced to extend EnsoRootNode rather than RootNode to carry scope info but the former seemed simpler. See test cases for previously crashing and invalid cases. |
||
---|---|---|
.. | ||
language-server | ||
launcher/src | ||
polyglot-api/src | ||
runner | ||
runtime | ||
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.