enso/engine
Jaroslav Tulach 8f6367966b
Single (+patchable) LiteralNode (#3536)
This PR merges existing variants of `LiteralNode` (`Integer`, `BigInteger`, `Decimal`, `Text`) into a single `LiteralNode`. It adds `PatchableLiteralNode` variant (with non `final` `value` field) and uses `Node.replace` to modify the AST to be patchable. With such change one can remove the `UnwindHelper` workaround as `IdExecutionInstrument` now sees _patched_ return values without any tricks.
2022-06-21 09:42:23 +00:00
..
language-server Use system dispatcher for ZIO (#3534) 2022-06-20 07:57:06 +00:00
launcher/src Update profiling CLI arguments (#3461) 2022-05-24 16:01:26 +03:00
polyglot-api/src introduce a micro stdlib for testing (#3531) 2022-06-16 10:25:24 +00:00
runner Update profiling CLI arguments (#3461) 2022-05-24 16:01:26 +03:00
runtime Single (+patchable) LiteralNode (#3536) 2022-06-21 09:42:23 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Single (+patchable) LiteralNode (#3536) 2022-06-21 09:42:23 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Register instruments/language in their own compilation units to fix the sbt build issues (#3509) 2022-06-13 14:09:08 +00:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Register instruments/language in their own compilation units to fix the sbt build issues (#3509) 2022-06-13 14:09:08 +00:00
runtime-language-epb/src/main/java/org/enso/interpreter/epb Register instruments/language in their own compilation units to fix the sbt build issues (#3509) 2022-06-13 14:09:08 +00:00
runtime-with-instruments/src/test Single (+patchable) LiteralNode (#3536) 2022-06-21 09:42:23 +00:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

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.