Supercharge your productivity.
Enso allows creating software in minutes instead of weeks. It also lets business leaders, analysts, data scientists and developers, design workflows together and communicate like never before.
Enso analyzes your data, uses colors to indicate the inferred types, suggests possible next steps, and shows help, with examples highly tailored for your use case.
Enso lets you test ideas rapidly, giving you a deep understanding of your data. On every change, only the necessary parts of the graphs are recomputed.
Enso's components are hierarchical. It allows you to gradually change the abstraction level. Zoom out to see the big picture and zoom in to fine tune your work.
Network service outages and data corruption are a part of life. Enso shows their impact on your work, letting you track them with ease.
COMING SOON
Enso records and visualizes extensive information about performance and memory consumption, letting you spot bottlenecks just by looking at the graph.
COMING SOON
Enso allows you to define data quality rules. It uses these to visualize data quality issues, so you can be sure that the results you get are correct.
COMING SOON
With just a single keystroke, you can collapse several connected components into a new, more powerful one, and share it with others.
Powerful functional language.
Enso is a general purpose, purely functional programming language that incorporates many recent innovations in programming language design.
Switch from graphs to code, and back. The textual syntax is very powerful, yet natural to read and write. You can use it directly in components!
You can copy and paste code from JavaScript, R, and Python, and even pass arbitrary objects and functions between them, with close-to-zero overhead.
Enso comes with a sophisticated JIT compiler that lets you work on both typed and untyped data. Catch more of your errors before they become a problem.
Intuintively define types to encapsulate your data and group important information. This refines your domain model and keeps your graph from overhelming you.
Functions in Enso are first class. You can pass them around, effortlessly partially apply them, and define intuitive APIs with named and defaulted arguments.
No mutability means that your results are reproducible, whether you run your graph tomorrow or in a year. Tame accidental complexity and be sure of your work.
A comprehensive toolkit for working with data, the Enso standard library ensures that you have the functionality you need at your fingertips.
The Enso JIT compiler & GraalVM .
Performance meets polyglot .
A unified runtime for all languages.
By utilising GraalVM, the Enso JIT compiler is capable of compiling other languages to a common intermediate representation with a unified memory model. Not only that, but GraalVM ensures that all of these languages are optimised at once as your code runs.
Languages running alongside Enso can pass arbitrary objects to each other, and can call methods without defining any wrappers and with close-to-zero overhead at runtime. This performance is enabled directly by GraalVM, and has allowed Enso to seamlessly handle the complexities of interacting with languages that do not support multi-threading, ensuring that your data never gets corrupted.
Enso compiler and interpreter
GraalVM
Java HotSpot VM
External Runtimes
COMING SOON
Package Management
COMING SOON
High performance. Just in time!
Say goodbye to the days of tapping your fingers while waiting for results. With Enso code running up to 80 times faster than Python (CPython), your results come in seconds instead of minutes.
Enso's JIT compiler ensures that the parts of your code that run frequently are optimised as much as possible, while the code that runs infrequently is still no slouch. This optimisation can even cross the language barrier, meaning that if you really do need to call a routine written in Python you can do so, with blazingly fast speed.
EnsoGL. Our GPU accelerated
visualization engine.
Display all of your data, in real time.
EnsoGL is a blazing-fast, pixel-perfect vector shapes rasterization engine that uses high-quality analytical anti-aliasing, allows almost zero-cost boolean operations on shapes, and uses the CIELCH color space for pristine results.
The whole Enso interface is rendered using EnsoGL, and you can use it to create custom, high-performance data visualizations.
Learn Enso
Join the Community!
Enso is a community-driven open source project which is, and will always be, open and free to use. Join us, help us to build it, and spread the word!