22c431c796
This PR makes two changes: 1. parser will give IDs to nodes' expressions (unless already set); 2. `ASTOf.equals` will not compare IDs Both were already agreed to and implemented as part of `wip/mwu/graph-syntax` branch (though 1. in quite different shape). However, it was abandoned after Rust was selected as the technology for IDE "backend". Now, as we are reimplementing double representation in Rust we need parts of the technology back in the parser. Prerequisite for https://github.com/luna/ide/issues/186. Implements https://github.com/luna/ide/issues/228. |
||
---|---|---|
.github | ||
ci | ||
common | ||
doc | ||
engine | ||
project | ||
.gitignore | ||
.jvmopts | ||
.rustfmt.toml | ||
.scalafmt.conf | ||
azure-pipelines.yml | ||
build.sbt | ||
Cargo.toml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
Overview
Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics.
Enso is a developer’s whiteboard on steroids. Design, prototype, develop and refactor any application simply by connecting visual elements together. Collaborate with co-workers, interactively fine tune parameters, inspect the results and visually profile the performance in real-time.
Visit The Enso Website to learn more!
This repository contains Enso Engine (its compiler, interpreter, runtime, and language server). Its cloud-ready IDE can be found in a separate repository.
Enso's Design
If you would like to gain a better understanding of the principles on which Enso
is based, or just delve into the why's and what's of Enso's design, please take
a look in the doc/design/
folder.
This documentation will evolve as Enso does, both to help newcomers to the project understand the reasoning behind the code, but also to act as a record of the decisions that have been made through Enso's evolution.
License
This repository is licensed under the Apache 2.0, as specified in the LICENSE file.
Please be aware that, as the commercial backing for Enso, New Byte Order Sp. z o. o. reserves the right under the CLA to use contributions made to this repository as part of commercially available Enso products.
If these terms are unacceptable to you, please do not contribute to the repository.
Contributing to Enso
If you are interested in contributing to the development of Enso, please read
the CONTRIBUTING.md
file. It describes all the ways in
which you can help the project, as well as provides instructions for how to
build Enso.