enso/engine
Jaroslav Tulach fa22e467bf
Catch Panic and Error from Atom.to_text and yield detailed error message (#4034)
Don't propagate errors from `toDisplayString` - construct an error message with `Atom.toString`.

# Important Notes
> currently a failure in to_text is swallowed by `toString` and we cannot detect that something went wrong during the serialization

Not sure how satisfying the solution is, but the error swallowing happens in Truffle and there is little to do with it. We can just catch the error ourselves and produce some meaningful string.
2023-01-12 08:07:26 +00:00
..
language-server Documentation for functions and locals (#4029) 2023-01-10 16:59:53 +00:00
launcher/src Update Scala to 2.13.8 (#3631) 2022-08-08 19:32:55 +00:00
polyglot-api/src Documentation for functions and locals (#4029) 2023-01-10 16:59:53 +00:00
runner Fail runner when update manifest fails (#3990) 2022-12-15 16:12:09 +00:00
runtime Catch Panic and Error from Atom.to_text and yield detailed error message (#4034) 2023-01-12 08:07:26 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Add Polyglot Support in Runtime Tests (#4016) 2023-01-03 14:36:26 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Improve undefined method error message on builtin types (#3907) 2022-11-30 13:37:17 +01: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 Simplify exception handling for polyglot exceptions (#3981) 2022-12-19 19:16:43 +00:00
runtime-with-instruments/src/test Catch Panic and Error from Atom.to_text and yield detailed error message (#4034) 2023-01-12 08:07:26 +00:00
runtime-with-polyglot/src/test/scala/org/enso/interpreter/test/instrument Add Polyglot Support in Runtime Tests (#4016) 2023-01-03 14:36:26 +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.