I didn’t get a chance to put together a post on Friday, but I made some decent progress. Here’s a short recording of an editing session:
As I mentioned in week 0, the Unison node is written in Haskell and has an implementation of the Unison language, its typechecker, and any primitive functions. It exposes an API over HTTP. Last week, I worked on some of the Unison editor interactions, but I was working somewhat in a vaccum since the editor wasn’t yet connected to the Unison node. I spent this week actually getting the editor and the node talking to each other, and refining the node API a bit in the process.
I spent this week working on a very basic editing layer for the Unison editor. Previously, I’d implemented logic for how to display a Unison panel, including embedded graphical views, but had no way of actually editing these panels. Time to do something about that!
This was my first week dedicated mostly to working on Unison. Before getting to my update, I’ll give a bit of background on the Unison architecture. There are two pieces:
I’ve decided to do something crazy and take a three month break from any consulting work to focus on getting Unison off the ground and open sourced. For a while, Unison has been a fun side project, but I’ve wanted to give it a little more love and dedication and see where it goes. My wife and I talked it over recently and decided to timebox the crazy to three months, and I’ve also notified my clients and am wrapping up any loose ends this week. Though it would be great to find a sustainable source of funding for the project, for now I’m planning on resuming regular consulting work at the start of May, at which point Unison will revert to side project status.