mirror of
https://github.com/enso-org/enso.git
synced 2024-12-19 10:31:36 +03:00
2964457d48
Implementation of **type checks** for **intersection types**. The idea is to split the list of `types[]` in `EnsoMultiValue` into two parts: - first `methodDispatchTypes` represent the types the value _"has been cast to"_ - the rest of the types represent the types the value _"can be cast to"_ By performing this separation we address the #10882 requirements. After a type check only methods available on the `methodDispatchTypes` can be invoked. However the value can still be cast to all the possible types. |
||
---|---|---|
.. | ||
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.