enso/engine
Jaroslav Tulach 7252af6d62
Enso.getMetaObject, Type.isMetaInstance and Meta.is_a consolidation (#3949)
Implements `getMetaObject` and related messages from Truffle interop for Enso values and types. Turns `Meta.is_a` into builtin and re-uses the same functionality.

# Important Notes
Adds `ValueGenerator` testing infrastructure to provide unified access to special Enso values and builtin types that can be reused by other tests, not just `MetaIsATest` and `MetaObjectTest`.
2022-12-22 08:00:06 +00:00
..
language-server Enso.getMetaObject, Type.isMetaInstance and Meta.is_a consolidation (#3949) 2022-12-22 08:00:06 +00:00
launcher/src Update Scala to 2.13.8 (#3631) 2022-08-08 19:32:55 +00:00
polyglot-api/src Add executionContext/interrupt API command (#3952) 2022-12-08 00:04:46 +00:00
runner Fail runner when update manifest fails (#3990) 2022-12-15 16:12:09 +00:00
runtime Enso.getMetaObject, Type.isMetaInstance and Meta.is_a consolidation (#3949) 2022-12-22 08:00:06 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument State rework & IO Contexts (#3828) 2022-10-26 16:22:08 +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 Simplify exception handling for polyglot exceptions (#3981) 2022-12-19 19:16:43 +00:00
runtime-with-instruments/src/test Enso.getMetaObject, Type.isMetaInstance and Meta.is_a consolidation (#3949) 2022-12-22 08:00:06 +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.