enso/engine
Michał Wawrzyniec Urbańczyk cdf031f61f
[CI] Provide latest FlatBuffers to the Engine build. (#9654)
This PR bumps the FlatBuffers version used by the backend to `24.3.25` (the latest version as of now).

Since the newer FlatBuffers releases come with prebuilt binaries for all platforms we target, we can simplify the build process by simply downloading the required `flatc` binary from the official FlatBuffers GitHub release page. This allows us to remove the dependency on `conda`, which was the only reliable way to get the outdated `flatc`.

The `conda` setup has been removed from the CI steps and the relevant code has been removed from the build script.

The FlatBuffers version is no longer hard-coded in the Rust build script, it is inferred from the `build.sbt` definition (similar to GraalVM).

# Important Notes
This does not affect the GUI binary protocol implementation.

While I initially wanted to update it, it turned out farly non-trivial.

As there are multiple issues with the generated TS code, it was significantly refactored by hand and it is impossible to automatically update it. Work to address this problem is left as [a future task](https://github.com/enso-org/enso/issues/9658).

As the Flatbuffers binary protocol is guaranteed to be compatible between versions (unlike the generated sources), there should be no adverse effects from bumping `flatc` only on the backend side.
2024-04-12 10:10:44 +00:00
..
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test Update java formatter sbt plugin (#8543) 2023-12-15 14:45:23 +00:00
language-server [CI] Provide latest FlatBuffers to the Engine build. (#9654) 2024-04-12 10:10:44 +00:00
launcher/src Drop inefficient SemVer implementation (#9089) 2024-02-22 09:59:09 +00:00
polyglot-api/src [CI] Provide latest FlatBuffers to the Engine build. (#9654) 2024-04-12 10:10:44 +00:00
runner Add --disable-private-check runner option (#9556) 2024-03-27 09:03:35 +00:00
runtime Attach warning when converting from Decimal to Integer (#9660) 2024-04-11 15:44:58 +00:00
runtime-benchmarks/src/main Do not disable BackgroundCompilation in benchmarks (#9646) 2024-04-08 16:49:57 +02:00
runtime-compiler/src/main Use autoscoping when constructing tag values of suggestion arguments (#9293) 2024-04-08 12:39:49 +01:00
runtime-fat-jar/src/main/java Edits are processed in the order of submission (#8787) 2024-01-22 23:05:41 +00:00
runtime-instrument-common/src Instrumentation, visualization and autoscoped constructors (#9452) 2024-04-03 12:14:23 +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 Edits are processed in the order of submission (#8787) 2024-01-22 23:05:41 +00:00
runtime-integration-tests/src/test Accept small BigInteger values (#9655) 2024-04-09 14:55:33 +02:00
runtime-language-arrow/src Arrow builder is not an Array (#9358) 2024-03-13 14:37:41 +00:00
runtime-language-epb/src Syntax Color and Debug JavaScript/Python in Enso Source (#9440) 2024-03-15 10:28:13 +01:00
runtime-parser/src Testing autoscoped constructors in a vector (#9630) 2024-04-04 17:13:33 +02: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.