Enso Dev Blog — Friday 9th October

Enso (formerly Luna)
3 min readOct 12, 2020

--

This update on the development of Enso is a double bill, featuring updates from the 9th of October and the 25th of September. If you want to keep up with the development of Enso in real time, you can follow along on GitHub.

Hacking on Enso this Hacktoberfest

October is Hacktoberfest, a celebration of Open Source organized by DigitalOcean. During Hacktoberfest, folks can make pull requests against GitHub repositories tagged with the hacktoberfest topic to earn points towards a limited edition tshirt, or planting trees.

We’ve made some issues available for Hacktoberfest contributors on our IDE repo. We’ve also tried to scope these issues to be a good starting point for contributors new to the Enso project and codebase. The IDE is written in Rust, and is a great project for folks learning about Rust and Web Assembly.

Check out our Hacktoberfest issues in the IDE repository, and if you have any questions, visit us in the Enso Discord. If you’re new to developing on Enso, our developer documentation will help you get started.

Integrated Development Environment

Searcher

In the last update, we showed an initial UI pass for the Searcher, a context sensitive tool to find nodes in available libraries. The Searcher UI has been improved and now also includes a documentation panel to display the docs of found functions.

Visualizations

The last update showed some of the new visualization types available out of the box in Enso. Now there is a handy selector on nodes to choose from the available visualizations.

Editor

There have been numerous changes and fixes affecting the usability of the text editor within the IDE.

  • Panning and zooming within the visual canvas no longer affects the text editor or the text.
  • Cancelling node creation no longer leaves text on the screen.
  • The text editor is hidden, and can be opened with ctrl + ` .

Engine

Standard Library

Another big week for the standard library, as we continue to introduce fundamental types and ensure you can use Enso for your data.

New this update:

  • A Text API, including conversion to/from text, comparison, escaping, splitting, and more.
  • A file system access API, including reading and writing to files, as well as utilities such as checking a file exists, checking for a particualr filename, and checking for directories.
  • A Time library, introducing Time, Date, Time_Of_Day, Zone, and Duration types.

Launcher

Locks have been added to the launcher, ensuring that multiple launcher instances can modify installations at the same time without issue. For example, if two instances of the launcher are invoked to install the same version, the second will wait for the first installation to finish and then use it.

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.