In 1985, I embraced the launch of the Amiga 1000. Among many other fun uses, it became the center of my little synth "studio", doing MIDI sequencing, being patch librarian, and sometimes patch editing (after at least one commercial package, I had tried to write a program that helped me specify additive harmonics and envelopes for the Kawai K-5, which barely worked and was never much finished). One strange little sidebar in an otherwise typical 1980s MIDI setup was HMSL. The Hierarchical Music Specification Language (HMSL) is a domain-specific language for music composition and synthesis, built as an object oriented set of extensions to Forth. This grew out of work at the Mills College Center for Contemporary Music, as a collaboration between David Rosenboom (https://davidrosenboom.com), Larry Polansky, and James Tenney. HMSL has roots in other early theoretical computer music languages (it would not be entirely unfamiliar to MUSIC-descended languages), but with a strong emphasis on structural composition and real-time performance. They later worked with Phil Burke, who was doing some early hardware explorations, and joined forces to produce a portable version of HMSL that added OOP techniques to the language. It was then ported to the Amiga where it was eventually married to that platform's excellente JForth, and gained the ability to use the Amiga's native sound hardware as well as MIDI interfaces. Later, HMSL was ported to the Macintosh where even more features were added. A very interesting part of HMSL's pedigree is an early version used by Rosenbloom in the unique Buchla TOUCHE, a digital/analog hybrid synth that broke the Buchla tradition to include a standard piano-style keyboard. Rosenbloom worked with Doug "Lynx" Crowe to include performance features along with the PATCH-IV language that controlled the synth's voice architecture. The early Amiga and Macintosh versions were distributed by Frog Peak Music, but original disks are hard to come by. Phil Burke (who now works for Google, adding audio and MIDI features to Android) has built on pieces of HMSL over the years, and returned to porting it to modern native platforms in open source form (https://github.com/philburk/hmsl). I've spent a few hours spread over several weekends seeing if I could get the latest HMSL to compile on a non-MacOS platform (MacOS is the only platform for which binary releases are provided). Overcoming mostly configuration obstacles (Phil's beginning attempts at full CMake support are incomplete as of this writing), I hit a bit of a wall when I discovered that a blocking I/O library built on top of Portaudio seems to be using some obsolete Portaudio constructs (PortAudioStream?). I'm wondering if, among the various projects stitched together, it is depending on an earlier version of Portaudio. In any case, I'm taking a break on that path for a while since I'm pretty happy right now with Common Music (CM3, https://commonmusic.sourceforge.net/). Perhaps more on this wonderful package later. Still, if you have the opportunity to play with HMSL, give it a look. I recall it just felt nimbler than the other non-real-time languages prevalent at the time.