enso/engine
Jaroslav Tulach 3b790606e1
Avoid StackOverflow when comparing unknown foreign objects (#7780)
Closes #7677 by eliminating the _stackoverflow execption_. In general it seems _too adventurous_ to walk members of random foreign objects. There can be anything including cycles. Rather than trying to be too smart in these cases, let's just rely on `InteropLibrary.isIdentical` message.

# Important Notes
Calling `sort` on the `numpy` array no longer yields an error, but the array isn't sorted - that needs a fix on the Python side: https://github.com/oracle/graalpython/issues/354 - once it is in, the elements will be treated as numbers and the sorting happens automatically (without any changes in Enso code).
2023-09-19 15:39:04 +00:00
..
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test Builtin methods handle some exceptions (#7494) 2023-08-07 16:42:15 +02:00
language-server Static parameter in search/completion request affects only methods (#7831) 2023-09-19 15:12:23 +00:00
launcher/src Fix console output for native image (#7744) 2023-09-06 12:12:52 +02:00
polyglot-api/src Rename Decimal to Float (#7807) 2023-09-14 15:01:30 +00:00
runner Optional Espresso support with ENSO_JAVA=espresso env variable 2023-09-19 15:10:12 +02:00
runtime Avoid StackOverflow when comparing unknown foreign objects (#7780) 2023-09-19 15:39:04 +00:00
runtime-instrument-common/src Cleanup code in IdExecutionInstrument (#7811) 2023-09-15 10:09:42 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Cleanup code in IdExecutionInstrument (#7811) 2023-09-15 10:09:42 +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 Improvements that significantly reduce the chances of request timeouts (#7042) 2023-06-16 17:57:16 +00:00
runtime-language-epb/src/main/java/org/enso/interpreter/epb Support for Python libraries like numpy (#7678) 2023-08-30 06:10:18 +02:00
runtime-parser/src Rename Decimal to Float (#7807) 2023-09-14 15:01:30 +00:00
runtime-with-instruments/src/test Do not suppress panic exception in runtime type check (#7793) 2023-09-18 11:48:59 +02:00
runtime-with-polyglot/src/test Fix implicit conversion of foreign JS object to Text (#7774) 2023-09-11 10:21:33 +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.