Enso Dev Blog — 12th February 2021

Enso (formerly Luna)
3 min readFeb 26, 2021

--

This update on the development of Enso features updates from the 15th of January to the 12th of Febuary. If you want to keep up with the development of Enso in real time, you can follow along on GitHub. If you want to try the Enso pre-release, you can find all the information you need in GitHub Discussions.

Integrated Development Environment

Error reporting

In the example below, there is an error in the left branch, but it does not abort execution of the graph. You can continue to work on other parts of the program that are not affected by this error, i.e. aren’t linked to that node or depend on it for computation. In this case, that means you can continue working on the right branch.

Visualization improvements

  • Tables (i.e. dataframes) can now be shown with the table visualizations.
  • Visualizations can be repositioned, and dragged away from the source node.

Engine

Standard library

  • Geo.point added to help with geographic visualization (as seen in the Trams tutorial).
  • Expansion of dataframes capabilities, this week with sorting.

Polyglot

  • Improved syntax for Java interop, making it more natural to use Java from Enso:
  • JavaScript interop added. See the test for an example, or the recording of a livestream in which JavaScript interop is used to add serverside rendering with ejs to an Enso webserver.
  • Progress continues on interop with other popular languages, including R, Python, and Ruby. The below example is a prototype of ggplot2 through R:

Image processing library

An early prototype of an image processing library, with full support within the IDE, has been created. The library can:

  • Read and write images with a variety of formats and compression options.
  • Manipulate image data such as color channels using vectorized operations +, -, *, / .

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.