mirror of
https://github.com/enso-org/enso.git
synced 2024-12-18 08:11:58 +03:00
3.7 KiB
3.7 KiB
Enso 0.2.1 (2021-01-15)
Language
- Removed Uniform Function Call Syntax, making the language much more predictable and allowing the compiler to provide improved diagnostics for common mistakes.
Interpreter/Runtime
- Return correct qualified names for modules at runtime, ensuring that the compiler and interpreter agree.
Tooling
- Improve the handling of bundled components with the Project Manager, ensuring rapid startup and easy integration with the IDE.
- Fixed the reflection configuration for the Project Manager, fixing a bug where it was unable to extract archives on Windows.
- The Language Server now uses qualified names in its messages, fixing a class of bugs where the IDE and Tooling did not agree on what a given expression was.
- Fixed mis-handling of tags in the documentation parsing infrastructure.
Libraries
- Implemented a stub file for the functionality built into the interpreter. This allows us to provide comprehensive documentation about this functionality for display in the IDE and for reading by library users.
- Added aggregation functionality to the Table library, allowing users to group their data.
Known Issues
- This is a beta release, so please see the issue tracker for issues opened before the release date.
Enso 0.2.0 (2021-01-05)
Language
The initial version of the Enso language, with most language features functioning.
- Flexible and concise syntax for the construction of functional programs, including pattern matching and lambdas.
- Support for currying, named and defaulted arguments, and operator sections.
- Support for user-defined data-types with fields and dynamically-dispatched methods on them.
- Importing and working with Java code in a seamless fashion using polyglot imports.
- Functional monadic state and error handling, through the use of data errors and panics.
- Opt-in tail-call optimisation.
Interpreter/Runtime
- The initial version of the interpreter and runtime.
Type System
- Nothing.
Tooling
- The initial version of the Enso Launcher and Project Manager, supporting:
- Installation and management of Enso releases, and the GraalVM runtimes on which they depend.
- Aggregation of logs from the various Enso service components.
- Basic project management functionality.
- Initialisation and set-up of a language server for a specific project.
- The initial version of the Enso Language Server, supporting:
- Dynamic introspection and modification of the running Enso program.
- Caching of intermediate values in computations, ensuring that only necessary parts of the program are recomputed on a change.
- Intelligent suggestions based on semantic analysis of the code.
- Attaching visualisation code to values in the running Enso program.
Libraries
- The initial version of
Base
, the core library, supporting:- Functionality for working with core types like
Integer
,Decimal
, andText
. - Common data structures such as
List
,Vector
, andMap
. - Support for working with
JSON
data. - Support for working with
HTTP
endpoints. - Support for interacting with files and processes on the local machine.
- Support for working with polyglot entities.
- Support for metaprogramming the Enso language.
- Functionality for working with core types like
- The initial version of the Enso
Table
library for working with tabular data. - The initial version of the Enso
Test
library, containing testing and benchmarking utilities.
Stabilised Features
- A list of stabilised APIs and/or features.
Misc
- Nothing.
Known Issues
- This is a beta release, so please see the issue tracker for issues opened before the release date.
Internal Only
- Nothing