enso/engine
Jaroslav Tulach ecd1fdc3f8
Caching the grapheme_length of a Text (#3864)
Computing length of a text takes time. Let's cache it after first computation.

# Important Notes
Wrote `StringBenchmarks` that sums lengths of (the same) `Text` present many time in a `Vector`. Initially it took `383.673 ms` per operation. Then it took `0.031 ms/op`. Looks like the `length` calls are returning instantly as they get cached.
2022-11-14 15:53:10 +00:00
..
language-server Add parent type field to suggestion (#3846) 2022-11-07 13:21:04 +00:00
launcher/src Update Scala to 2.13.8 (#3631) 2022-08-08 19:32:55 +00:00
polyglot-api/src Add parent type field to suggestion (#3846) 2022-11-07 13:21:04 +00:00
runner Fix repl (#3767) 2022-10-06 19:53:54 +00:00
runner-native/src Initialize Builtins at Native Image build time (#3821) 2022-10-25 18:28:10 +00:00
runtime Caching the grapheme_length of a Text (#3864) 2022-11-14 15:53:10 +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 State rework & IO Contexts (#3828) 2022-10-26 16:22:08 +00: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 Missing foreign language generates proper Enso error. (#3798) 2022-10-17 09:59:31 +00:00
runtime-with-instruments/src/test Runtime reports correct atom type (#3867) 2022-11-14 11:49:04 +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.