mirror of
https://github.com/enso-org/enso.git
synced 2024-12-25 03:43:41 +03:00
ace459ed53
Use JavaScript to parse and serialise to JSON. Parses to native Enso object. - `.to_json` now returns a `Text` of the JSON. - Json methods now `parse`, `stringify` and `from_pairs`. - New `JSON_Object` representing a JavaScript Object. - `.to_js_object` allows for types to custom serialize. Returning a `JS_Object`. - Default JSON format for Atom now has a `type` and `constructor` property (or method to call for as needed to deserialise). - Removed `.into` support for now. - Added JSON File Format and SPI to allow `Data.read` to work. - Added `Data.fetch` API for easy Web download. - Default visualization for JS Object trunctes, and made Vector default truncate children too. Fixes defect where types with no constructor crashed on `to_json` (e.g. `Matching_Mode.Last.to_json`. Adjusted default visualisation for Vector, so it doesn't serialise an array of arrays forever. Likewise, JS_Object default visualisation is truncated to a small subset. New convention: - `.get` returns `Nothing` if a key or index is not present. Takes an `other` argument allowing control of default. - `.at` error if key or index is not present. - `Nothing` gains a `get` method allowing for easy propagation. |
||
---|---|---|
.. | ||
language-server | ||
launcher/src | ||
polyglot-api/src | ||
runner | ||
runtime | ||
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument | ||
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument | ||
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument | ||
runtime-language-epb/src/main/java/org/enso/interpreter/epb | ||
runtime-with-instruments/src/test | ||
README.md |
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.