Enso Dev Blog — 18th December 2020

Enso (formerly Luna)
3 min readDec 29, 2020

--

This update on the development of Enso features updates from the 4th and 18th of December. If you want to keep up with the development of Enso in real time, you can follow along on GitHub.

Try out the Enso Pre-release distribution

In the coming weeks, we’ll be releasing the first complete distribution of Enso. This is an important step to making Enso easy to get and use before the release of 2.0. This single package will include both the Engine and the IDE, and won’t require an installation of GraalVM. It’ll be ready to go with the standard library, an early dataframe implementation, and some visualizations.

We’ve been delighted by how many of you have been trying out Enso using the build artifacts from GitHub, and we’re excited to make it easier than ever for you to get and play with Enso. If you are interested in taking the pre-release distribution for a test drive, we’d welcome your usage and feedback. You can sign up here to get instructions on installing the distribution.

Curious about what you can expect in the pre-release? Read on, for this week’s devblog!

Integrated Development Environment

The IDE continues to get usability improvements and bug fixes. This week:

  • Ports for function arguments are now coloured based on the type of the passed data.
  • Fixed a bug that prevented greyed out ports showing connections.
  • Fixed bug with lines reordering after a connection is made.
  • Histogram, scatterplot, and table visualizations added for Vectors.
  • Visualizations can be navigated independently of scene. Previously panning or scrolling in a visualization would also move the view of the whole scene.
  • Examples are now available in the Searcher. When inserted into the scene, the example is inserted as a single node that can be entered to see the full implementation.

Engine

Standard Library

Useful utilities continue to pour into the standard library. This week:

  • Bitwise operations on integers, including and, or, xor, not, and left and right shift. Read more about them here.
  • Sorting on Vectors, via Vector.sort. Supports custom comparators, orders, and projections on the elements being sorted. Read more about it here.

Project Manager

The project manager is now able to manage engine and runtime versions, just like the launcher. This upgrade is an important step in enabling a single installer/executable for Enso.

More information

That’s all for this developer update. We’ll be back with more after the next sprint. You can continue to follow along with Enso development on GitHub, by joining our Discord server, or subscribing to updates on our developer mailing list.

--

--

Enso (formerly Luna)

Hybrid visual and textual functional programming language for data processing.