Chapter 'home'
100% - 100vh
A new kind of
programming language.
Dual syntaxes. A JIT compiler. The ability to use libraries from Java, JavaScript, R and Python, without wrappers and with close-to-zero performance overhed.
Chapter 'productivity'
100% - 100vh

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.

Intelligent assistance

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.

WYSIWYG data processing

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.

Managable complexity

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.

Visual debugging

Network service outages and data corruption are a part of life. Enso shows their impact on your work, letting you track them with ease.

Visual profiling

COMING SOON

Enso records and visualizes extensive information about performance and memory consumption, letting you spot bottlenecks just by looking at the graph.

Visual data quality checks

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.

Component marketplace

COMING SOON

With just a single keystroke, you can collapse several connected components into a new, more powerful one, and share it with others.

Chapter 'language'
100% - 100vh

Powerful functional language.

Enso is a general purpose, purely functional programming language that incorporates many recent innovations in programming language design.

Graphs and code

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!

Seamless polyglot

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.

Hybrid static/dynamic type system

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.

Algebraic data types

Intuintively define types to encapsulate your data and group important information. This refines your domain model and keeps your graph from overhelming you.

Higher order functions

Functions in Enso are first class. You can pass them around, effortlessly partially apply them, and define intuitive APIs with named and defaulted arguments.

Immutable memory

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.

Rich standard library

A comprehensive toolkit for working with data, the Enso standard library ensures that you have the functionality you need at your fingertips.

Chapter 'compiler'
100% - 100vh

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

Enso JIT Compiler
up to 80x faster
Enso
Python
up to 35x faster
Enso-R
(GraalVM R)
GNU-R

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.

Browse the EnsoGL source code →
Chapter 'learn'
100% - 100vh

Learn Enso

Introducing Enso 2.0.
In this video you will learn what is Enso and how it helps companies build data workflows in minutes instead of weeks.
Watch the video →
Joe Nash, Community Developer
Custom data visualizations.
In this video podcast you will learn how to build a new 2D graphics processing library from scratch in Enso, and how to connect it to Paper.js in order to display the shapes interactively in the IDE.
Watch the podcast →
Marcin Kostrzewa, Compiler Team
Using Java libraries in Enso.
Thanks to GraalVM, Enso can use libraries from Java, JavaScript, R, and Python without wrappers and with close to zero runtime overhead. In this video you will learn how to use Java libraries in Enso.
Watch the podcast →
Your first steps in Enso.
In this tutorial you will learn all the basics, including how to search for, create and connect coponents, create custom reusable ones, and more!
Watch the tutorial →
Ara Adkins, Compiler Team Lead
Architecture of the Enso compiler.
The Enso language comes with a high performance, polyglot JIT compiler powered by GraalVM. In this video podcast you will learn about how Enso was designed and how it works under the hood.
Watch the podcast →
Wojciech Danilo, CEO
Enso vision. What is in the future?
This is just the beginning of our journey. There is still so much more that we have planned to make Enso the most intuitive data science platform in the world. This podcast talks about the vision for Enso's future.
Watch the podcast →
Browse docs and tutorials.
Learn how to use Enso expressions, how to create custom visualizations, and even, how to contribute to the Enso codebase.
Browse the docs →
Chapter 'community'
100% - 100vh
Get the latest updates
to your email.

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!