I’ve also made the source for the visual interface available here under the GPLv3 free license. To get it actually working as above you’d also need to install my tidal library, Jamie Forth’s network sync, my sampler, the nekobee synth, and somehow get it all working together. In short, it’s a bit tricky, I’ll be working on packaging soonish though.

It’s coming along nicely! So your coloured curly lines indicate the curried types? Red for string, green numbers and yellow functions? I wasn’t sure whether your example included different arities – there are some double yellow lines, but at first I read those as being double lines, not as two lines next to each other. This might be something to do with the curl at the end, which means that you read a double line as a single snail, rather than two snails entangled with each other.

But I appreciate your achievement of a visual syntax within a consistently text-y aesthetic. If you literally had lines of curried snails marching across the screen, it would all be quite different!

Yes there are different arities, e.g. ‘every’ has an arity of three, a number, a function and a pattern. The function is then applied to the pattern every nth repetition.

I think the visual repetition makes some sense in that due to the currying, functions in a sense only ever have one parameter, but are kind of twisted together into multi-parameter functions. I’m not sure about the snails either though, and am treating this as a prototype that will be rewritten at some point. One idea I had was to use a cursive script and have the lines flowing out of the text somehow, although I doubt that would work well in practice…