enso/engine
Pavel Marek 9010cf93be
Extension methods can be exported by name (#10274)
Ultimately, we want to forbid the `from ... export all` syntax. This PR starts by providing a way to explicitly export extension and conversion methods by name.

Stdlib code will be modified in upcoming PR.

# Important Notes
A single name can refer to multiple extension or conversion methods. Exports are not qualified. For example,
```
type My_Type
type Other_Type
My_Type.ext_method x = x
Other_Type.ext_method x = x
```
```
from project.Mod export ext_method
```
will export both `My_Type.ext_method` and `Other_Type.ext_method`.
2024-06-25 12:08:22 +00:00
..
common/src/main/java/org/enso/common Towards simplifying runtime-compiler dependencies (#8894) 2024-04-25 10:03:42 +02:00
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test ydoc-server is a separate module (#10156) 2024-06-07 12:56:42 +02:00
language-server Cleaning up YAML parsing in preparation for circe-yaml removal (#10309) 2024-06-20 13:07:54 +00:00
launcher/src Cleaning up YAML parsing in preparation for circe-yaml removal (#10309) 2024-06-20 13:07:54 +00:00
polyglot-api/src TextEdit with custom IdMap (#10283) 2024-06-15 18:03:18 +00:00
polyglot-api-macros/src/main/scala/org/enso/polyglot/macros Replace Jackson serde (#10035) 2024-06-11 15:03:12 +00:00
runner Verify ./runner executable on all supported OSes (#10329) 2024-06-25 11:38:18 +02:00
runtime Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
runtime-benchmarks/src/main Extract mutable builder from ModuleScope (#9914) 2024-06-05 16:57:08 +00:00
runtime-compiler/src Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
runtime-fat-jar/src/main/java ydoc-server is a separate module (#10156) 2024-06-07 12:56:42 +02:00
runtime-instrument-common/src TextEdit with custom IdMap (#10283) 2024-06-15 18:03:18 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Instrumentation, visualization and autoscoped constructors (#9452) 2024-04-03 12:14:23 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Introducing engine/runtime-compiler project (#8197) 2023-11-01 12:42:34 +01:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Towards simplifying runtime-compiler dependencies (#8894) 2024-04-25 10:03:42 +02:00
runtime-integration-tests/src/test Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
runtime-language-arrow/src Implement and benchmark ArrowOperationPlus node (#10150) 2024-06-11 12:50:59 +00:00
runtime-language-epb/src Atom constructors can be private (#9692) 2024-04-29 14:43:18 +02:00
runtime-parser/src Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
runtime-suggestions/src/main/scala/org/enso/compiler/suggestions Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
runtime-test-instruments/src/main/java Binary operator resolution based on that value (#8779) 2024-01-27 08:38:47 +01: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.