enso/engine
Dmitry Bushev ab0a5e0c36
Improve the speed of preorder operation on IR (#11019)
close #10537

Changelog:
- add: implement `IR.preorder` method with callback
- update: update `IR.preorder` method usages

# Important Notes
Shows ~10% speed improvement during the compilation
2024-09-10 14:47:50 +00:00
..
common/src/main/java/org/enso/common Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02: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 Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
launcher/src Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
polyglot-api/src Print out warnings associated with local variables (#10842) 2024-08-21 07:00:54 +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 Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
runner-common/src/main ContextFactory reused to initialize language-server context (#10670) 2024-07-29 09:49:14 +02:00
runtime Improve the speed of preorder operation on IR (#11019) 2024-09-10 14:47:50 +00:00
runtime-benchmarks/src/main WithWarnings uses EnsoHashMap to speed things up (#10555) 2024-08-07 15:29:57 +00:00
runtime-compiler/src Improve the speed of preorder operation on IR (#11019) 2024-09-10 14:47:50 +00:00
runtime-fat-jar/src/main/java Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
runtime-instrument-common/src Improve the speed of preorder operation on IR (#11019) 2024-09-10 14:47:50 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument/id/execution Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument/repl/debugger Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument/runtime/server Prepare for JPMS - rename packages (#10974) 2024-09-06 10:27:59 +02:00
runtime-integration-tests/src/test Avoid AliasAnalysis for Hello_World.enso (#10996) 2024-09-09 14:21:22 +02: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 Improve the speed of preorder operation on IR (#11019) 2024-09-10 14:47:50 +00:00
runtime-suggestions/src/main/scala/org/enso/compiler/suggestions Lazy Diagnostic storage allocation (#10852) 2024-08-23 17:48:25 +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.