Realizing Bret Victor's vision

There is a large part of the Clojure community dedicated to bringing to life the super-inspiring level of interactivity demonstrated in Bret’s videos.

If you haven’t seen it, Inventing on Principle is probably one of the most often cited “favorite talks of all time”, yet it is often lamented (ironically, even by Bret himself) that there has been a shortage of fruit borne from it that has trickled down to the community.

The idea is that by reducing the time of the programming feedback-loop to effectively zero, coding becomes something more akin to sculpting. One of the most significant hurdles for beginners is the need to develop the ability to mentally step through the code without experiencing the results of each change, so it is hugely beneficial for learning to remove this necessity as much as possible.

Light Table was one of the first of these efforts, but was unfortunately abandoned because of lack of funding. Proto-repl was another, but it was a plugin for the Atom editor which is no longer supported.

A great starting place to catch up on the state-of-the-art in interactive data visualization is the SciCloj org:

Tools and libraries - Scicloj

Portal is especially noteworthy as it is being quickly adopted as part of the Clojure dev stack, offering a visual way to inspect nested data structures.

Clerk is another one to check out, it allows you to work locally in your own editor, but renders a web page that interactively updates as you evaluate code, either via a file-watcher that re-renders on save, or by sending arbitrary bits through the tap> protocol. It supports several of the custom viewers produced by the community.

For interfacing with the existing Exercism editor, Nextjournal’s clojure-mode can be paired with the sci interpreter, offering a plethora of key-bindings for structural editing (i.e. Paredit) and inline evaluation.


I’d be interested in what you make of Bret’s Dynamic Land? This feels like a kinder form of programming that builds on our shared somatic form.


Sorry for not mentioning this sooner, but a little later today there will be a workshop for Clerk (“Clerkshop” :sunglasses: :smiley:):

reClojure 2022 Workshop: Moldable Live Programming with Clerk - Martin Kavalar, Thu, Dec 8, 2022, 5:30 PM | Meetup