2019-06-11 19:07:54 +03:00
|
|
|
<p align="center">
|
2020-03-06 13:09:54 +03:00
|
|
|
<br/>
|
|
|
|
<a href="http://luna-lang.org">
|
2020-04-06 14:32:10 +03:00
|
|
|
<img
|
2020-04-21 23:00:27 +03:00
|
|
|
src="https://user-images.githubusercontent.com/1623053/79905826-22bac080-8417-11ea-82b0-ee015904a485.png"
|
2020-04-06 14:32:10 +03:00
|
|
|
alt="Enso Studio"
|
2020-04-21 23:00:27 +03:00
|
|
|
width="136"
|
2020-03-06 13:09:54 +03:00
|
|
|
/>
|
|
|
|
</a>
|
|
|
|
<br/>
|
|
|
|
<br/>
|
|
|
|
<a href="http://luna-lang.org">
|
2020-04-06 14:32:10 +03:00
|
|
|
<img
|
|
|
|
src="https://user-images.githubusercontent.com/1623053/75661125-05664300-5c6d-11ea-9bd3-8a5355db9609.png"
|
|
|
|
alt="Enso Language"
|
2020-03-06 13:09:54 +03:00
|
|
|
width="240"
|
|
|
|
/>
|
|
|
|
</a>
|
|
|
|
<br/>
|
|
|
|
<br/>
|
|
|
|
<br/>
|
2019-06-11 19:07:54 +03:00
|
|
|
</p>
|
2020-03-06 13:09:54 +03:00
|
|
|
|
2020-04-07 19:52:38 +03:00
|
|
|
### Fluidly Combining Worlds
|
2020-04-06 14:32:10 +03:00
|
|
|
<p>
|
|
|
|
<a href="https://github.com/luna/ide/actions">
|
|
|
|
<img src="https://github.com/luna/enso/workflows/Enso%20CI/badge.svg?branch=master"
|
|
|
|
alt="Actions Status">
|
|
|
|
</a>
|
|
|
|
<a href="https://github.com/luna/enso/blob/master/LICENSE">
|
|
|
|
<img src="https://img.shields.io/static/v1?label=Compiler%20License&message=Apache%20v2&color=2ec352&labelColor=2c3239"
|
|
|
|
alt="License">
|
|
|
|
</a>
|
|
|
|
<a href="https://github.com/luna/ide/blob/master/LICENSE">
|
|
|
|
<img src="https://img.shields.io/static/v1?label=GUI%20License&message=AGPL%20v3&color=2ec352&labelColor=2c3239"
|
|
|
|
alt="License">
|
|
|
|
</a>
|
|
|
|
<a href="http://chat.luna-lang.org">
|
|
|
|
<img src="https://img.shields.io/discord/401396655599124480?label=Chat&color=2ec352&labelColor=2c3239"
|
|
|
|
alt="Chat">
|
|
|
|
</a>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
Enso is an open-source, visual language for data science that lets you design,
|
|
|
|
prototype, develop and refactor any application by connecting visual elements
|
2020-04-14 15:11:12 +03:00
|
|
|
together. Enso lets you collaborate with your co-workers, interactively
|
|
|
|
fine-tune parameters, inspect results and visually profile and debug your
|
2020-04-07 19:52:38 +03:00
|
|
|
programs in real-time, creating a moment where the mind is free to let the body
|
|
|
|
create.
|
2020-03-06 13:09:54 +03:00
|
|
|
|
2020-04-06 14:32:10 +03:00
|
|
|
Enso consists of several sub projects, including the
|
|
|
|
[Enso Language Compiler](https://github.com/luna/enso) and the
|
|
|
|
[Enso Integrated Development Environment (IDE)](https://github.com/luna/ide).
|
2020-04-06 19:13:19 +03:00
|
|
|
You can also check out the [Enso Website](https://enso.org) for more
|
2020-04-06 14:32:10 +03:00
|
|
|
information.
|
2019-06-11 19:07:54 +03:00
|
|
|
|
2020-04-06 14:32:10 +03:00
|
|
|
This repository contains [Enso Engine](engine/), which consists of the compiler,
|
|
|
|
type-checker, runtime and language server. These components implement Enso the
|
|
|
|
language in its entirety, and are usable in isolation.
|
2019-06-11 19:07:54 +03:00
|
|
|
|
2020-04-21 23:00:27 +03:00
|
|
|
<br/>
|
|
|
|
|
2020-04-06 14:32:10 +03:00
|
|
|
### Getting Started
|
|
|
|
Enso is distributed as [pre-built packages](https://github.com/luna/enso/releases)
|
|
|
|
for MacOS, Linux and Windows, as well as universal `.jar` packages that can run
|
|
|
|
anywhere that [GraalVM](https://graalvm.org) can. See the
|
2020-04-06 19:13:19 +03:00
|
|
|
[documentation](http://enso.org) for more.
|
2019-06-11 19:07:54 +03:00
|
|
|
|
2020-04-21 23:00:27 +03:00
|
|
|
<br/>
|
|
|
|
|
2020-04-06 14:32:10 +03:00
|
|
|
### Building
|
|
|
|
The project builds on any platform where [GraalVM](https://graalvm.org) can run.
|
|
|
|
You will need the source code, and [`sbt`](https://www.scala-sbt.org/). For more
|
|
|
|
information, please read the detailed instructions in
|
|
|
|
[CONTRIBUTING.md](CONTRIBUTING.md).
|
2019-06-11 19:07:54 +03:00
|
|
|
|
2020-04-21 23:00:27 +03:00
|
|
|
<br/>
|
|
|
|
|
2020-03-06 15:02:19 +03:00
|
|
|
### Enso's Design
|
2019-06-11 19:07:54 +03:00
|
|
|
If you would like to gain a better understanding of the principles on which Enso
|
2020-03-06 13:09:54 +03:00
|
|
|
is based, or just delve into the why's and what's of Enso's design, please take
|
2020-04-14 15:11:12 +03:00
|
|
|
a look in the [`doc/` folder](./doc/). It is split up into subfolders for each
|
|
|
|
component of Enso, and then further subdivided into:
|
|
|
|
|
|
|
|
- `specification`: Specification of elements of the language.
|
|
|
|
- `design`: Documents detailing the design process and how decisions were made.
|
|
|
|
- `implementation`: Documentation detailing complexities, or design decisions
|
|
|
|
made at the implementation level.
|
|
|
|
|
|
|
|
This folder also contains a document on Enso's
|
|
|
|
[design philosophy](./doc/enso-philosophy.md), that details the thought process
|
|
|
|
that we use when contemplating changes or additions to the language.
|
2019-06-11 19:07:54 +03:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2020-04-21 23:00:27 +03:00
|
|
|
<br/>
|
|
|
|
|
2020-03-06 15:02:19 +03:00
|
|
|
### License
|
2019-06-11 19:07:54 +03:00
|
|
|
This repository is licensed under the
|
|
|
|
[Apache 2.0](https://opensource.org/licenses/apache-2.0), as specified in the
|
|
|
|
[LICENSE](https://github.com/luna/luna/blob/master/LICENSE) file.
|
|
|
|
|
2020-04-06 14:32:10 +03:00
|
|
|
This license set was choosen to both provide you with a complete freedom to use
|
|
|
|
Enso, create libraries, and release them under any license of your choice, while
|
|
|
|
also allowing us to release commercial products on top of the platform,
|
|
|
|
including Enso Cloud and Enso Enterprise server managers.
|
2019-06-11 19:07:54 +03:00
|
|
|
|
2020-04-21 23:00:27 +03:00
|
|
|
<br/>
|
|
|
|
|
2020-03-06 15:02:19 +03:00
|
|
|
### Contributing to Enso
|
2020-04-06 14:32:10 +03:00
|
|
|
Enso is a community-driven open source project which is and will always be open
|
|
|
|
and free to use. We are committed to a fully transparent development process and
|
|
|
|
highly appreciate every contribution. If you love the vision behind Enso and you
|
|
|
|
want to redefine the data processing world, join us and help us track down bugs,
|
|
|
|
implement new features, improve the documentation or spread the word!
|
|
|
|
|
|
|
|
If you'd like to help us make this vision a reality, please feel free to join
|
|
|
|
our [chat](http://chat.luna-lang.org/), and take a look at our
|
|
|
|
[development and contribution guidelines](CONTRIBUTING.md). The latter describes
|
|
|
|
all the ways in which you can help out with the project, as well as provides
|
|
|
|
detailed instructions for building and hacking on Enso.
|
2020-03-06 13:09:54 +03:00
|
|
|
|
2020-03-06 15:02:19 +03:00
|
|
|
<a href="https://github.com/luna/enso/graphs/contributors">
|
2020-04-14 12:30:29 +03:00
|
|
|
<img src="https://opencollective.com/enso-language/contributors.svg?width=890&button=false">
|
2020-03-06 13:09:54 +03:00
|
|
|
</a>
|
2020-04-06 19:13:19 +03:00
|
|
|
|