enso/engine
Jaroslav Tulach 2964457d48
Intersection types & type checks (#11600)
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.
2024-12-12 07:29:00 +00:00
..
common/src Reload insight script on file change (#11415) 2024-10-28 09:17:53 +00:00
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test WithWarnings uses EnsoHashMap to speed things up (#10555) 2024-08-07 15:29:57 +00:00
language-server Simplify shutdown logic on client disconnect in project-manager (#11712) 2024-12-02 21:19:55 +01:00
launcher/src --jvm tries to find Java executable system-wide. (#11500) 2024-11-18 22:44:54 +00:00
polyglot-api/src Deliver full intersection type of a value to the IDE (#11583) 2024-11-22 16:41:31 +00:00
polyglot-api-macros/src/main engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runner Including opencv native libraries as a resource in enso runner binary (#11807) 2024-12-10 06:21:25 +01:00
runner-common/src/main engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime Intersection types & type checks (#11600) 2024-12-12 07:29:00 +00:00
runtime-benchmarks/src/main Convert Array_Like_Helpers.map to a builtin to reduce stack size (#11363) 2024-11-06 11:14:48 +00:00
runtime-compiler/src More IR mini passes (#11501) 2024-11-28 18:00:42 +00:00
runtime-instrument-common/src Clear cache on reload (#11673) 2024-12-10 18:51:26 +00:00
runtime-instrument-id-execution/src/main/java Run node in a different execution environment (#11173) 2024-10-09 12:09:45 +00:00
runtime-instrument-repl-debugger/src/main/java Invoke Warning.getValue().to_text and use it from ReplDebuggerInstrument (#11591) 2024-11-20 17:31:33 +00:00
runtime-instrument-runtime-server/src/main/java engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime-integration-tests/src/test Intersection types & type checks (#11600) 2024-12-12 07:29:00 +00:00
runtime-language-arrow/src Avoid dependency on org.graalvm.collections (#11107) 2024-09-17 11:25:18 +00:00
runtime-language-epb/src Fill in ydoc-polyfill when running backend with the IDE (#11822) 2024-12-11 14:48:08 +01:00
runtime-parser/src More IR mini passes (#11501) 2024-11-28 18:00:42 +00:00
runtime-suggestions/src/main More IR mini passes (#11501) 2024-11-28 18:00:42 +00:00
runtime-test-instruments/src/main/java Ensure wrapper projects are listed in aggregates (#11323) 2024-10-14 20:46:08 +02: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.