enso/engine
Jaroslav Tulach 741b394b0d
Suspended atom fields are evaluated only once (#6151)
Implements #6134.

# Important Notes
One can define lazy atom fields as:
```haskell
type Lazy
Value ~x ~y
```
the evaluation of the `x` and `y` fields is then delayed until they are needed. The evaluation happens once. Then the computed value is kept in the atom for further use.
2023-04-05 23:46:08 +00:00
..
language-server When renaming the project clean old modules instead of updating (#6148) 2023-03-31 09:40:21 +00:00
launcher/src Don't log installed engines and runtimes in prod (#5900) 2023-03-16 10:36:55 +00:00
polyglot-api/src Delay writing IR caches (#5957) 2023-03-17 22:47:15 +00:00
runner Report errors when generating indexes (#6123) 2023-03-30 09:59:49 +00:00
runtime Suspended atom fields are evaluated only once (#6151) 2023-04-05 23:46:08 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Ensure new and wrapper nodes inherit UUID (#6067) 2023-03-27 17:49:20 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Improve undefined method error message on builtin types (#3907) 2022-11-30 13:37:17 +01: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 Schedule initialization of JS context in a separate thread (#5680) 2023-02-17 15:54:36 +00:00
runtime-with-instruments/src/test When renaming the project clean old modules instead of updating (#6148) 2023-03-31 09:40:21 +00:00
runtime-with-polyglot/src/test Delay background jobs execution (#5904) 2023-03-14 11:26:11 +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.