A JavaScript alternative to SCLang

This is a post to mostly gauge what interest there is in doing something like this.

Some background. @josephine (Josephine) posted this compelling argument for replacing SCLang with JavaScript:

It turns out there is a (at first glance) pretty decent JavaScript front end from @crucialfelix:

It has not been updated in 4 years, so it’s not clear to me what state it’s in, but at the very least it seems like it would be a good starting point. My guess is it probably hasn’t needed much work.

Felix also wrote a plugin for Atom:

Atom is of course dead now, but the project has been resurrected as Pulsar:

This hasn’t got the mindshare that Atom used to have, but the development team seem pretty serious and it’s quite a nice editor. The plugin support is sadly lagging, but maybe now they’re getting it up and running that will change. They are leaning in hard to two things:

  • The promise of a full configurable editor ala Emacs, but in JavaScript/CSS
  • Making it performant (Atom had a reputation for being a dog, but it seems fine to me now).

Quite a lot of people in the Tidal community are using Pulsar, which I think is a good sign. It would also be possible to create something akin to the SCIDE using Pulsar, as it is very configurable. It’s a risk, but I think the end result would be nicer than anything that can be done in VSCode.

So my thoughts for next steps would be:

  • Play around with the JavaScript frontend and see how it feels. Does it work, feel good?
  • Play around with the Pulsar integration, and get a feel for that.
  • Identify steps for getting to a ‘V.1’
    • Documentation requirements
    • Additional Code
    • Additions to the existing Atom plugin (or fork, depending upon how @crucialfelix feels about it).
    • A proper website/web presence.
    • Creating something that can be installed easily on at least windows/Mac (and preferably Linux).
    • some kind of launch plan so people hear about it.

Obviously prior to that soft launches would be fine, but ideally it would be ready for anyone when we finally promoted this thing in all the usual places (e.g. CDM).

So if anyone’s interested in this (you don’t have to agree with the plan above necessarily - that’s just a rough sketch to be refined), register your interest on this thread.

I’ve been wanting to check it out, though I imagine there is a reason Chris hasn’t touched it in 4 years…or maybe it just works and makes great applications! Lack of examples makes me skeptical.


Yeah digging into it and it seems a little incomplete. I don’t think it compiles synthdefs for example, it seems to rely upon sclang for that.

Come on, a little more ambition please. Dammit.

Besides that I had to use Windows today… Mac/Linux would be a much more logical choice, both being Unix. Let’s ditch Windows this time. Onwards to the future wasn’t it? :wink:

The worst thing about MS Windows is probably that also lot’s of junior programmers are starting programming on it and are learn to think with the same mindset. It’s a shame really. I’m serious now, ditch it! :slight_smile:

I remember seeing his talk on this in Boulder Colorado, I wonder if someone recorded it. One thing I remember is that it was not a complete system, and I’m not really sure it was the goal.

There’s lots of good stuff in Chris’ JS work, it’s just sadly quite out of date. Javascript - especially in the node.js / browser ecosystem - does not tend to age well, unfortunately. I was planning on borrowing some things from it for the LSP extension, but in the end I mostly just looked at it for inspiration rather than specific code (and anything JS-adjacent I am doing in typescript).

1 Like

I can feel my enthusiasm waning… :laughing: