Today, according to schedule, version p0.5.55 was released. It contains the new JOGL 2 library for OpenGL rendering and some MIDI playback enhancements, and after more than a year of inactivity the Zong! Editor is now buildable and runnable again.
I was a little anxious if it was hard to adapt the editor’s tools and commands to the new functional core. It turned out that it is now much easier than before to temporarily change the document’s layout for preview the user’s actions, and undo is really a one-liner:
Using the functional core, this can be done for nearly every command and tool, while the mutable core required lots of defensive copies and sometimes confusing undo algorithms for achieving the same thing. This is amazing, and only possible because of the great work of the pcollections project. I can really recommend having a look on this library to all Java developers. Together with a little experience gained in any functional language (like Haskell oder ML), it can (it will!) totally change the way you work with data structures in Java.