I'm glad to finally see a non-Iversonian array language. I've dabbled in J a bit, and it is pretty nice.<p>For those who haven't used array languages, the easiest comparison would be NumPy. NumPy is like a small array DSL on top of Python. Instead of having to manually iterate over arrays, you can (kinda) treat them like a single item; NumPy handles the details of iterating.<p>I could deal with how terse J (plus APL and BQN) can be, except for the sheer number of operators. I've heard that you can figure out what they do by their shape, but that doesn't help sort through 200+ operators (aka primitives) on NuVoc.<p>There are definitely some interesting thing in the Iversonian languages that aren't really found anywhere else. For instance, you can use a modifier (aka adverb) to swap the order of parameters to an expression. You can also convert an expression to a scan (aka reduce, IIRC) by adding a modifier on the end.<p>Apart from the syntax, GPU acceleration for an array language is an absolute slam dunk. Given how much people pay for K/Q licenses to use for low-latency HFT, I'm baffled GPU acceleration wasn't ubiquitous the second GPGPUs came out.
Futhark looks very cool. I generally don't buy into programming dogma, but I'm a big fan of data-oriented design these days; on top of efficiency gains, I find thinking in terms of data transforms and flows very intuitive. Plus, it's always great to have another tool to use/toy to play with
Interesting language!<p>perhaps you can add some envelop to get rid of the clicks.<p>btw I am also developing a music DSL that can be used in browsers:
<a href="https://glicol.org/" rel="nofollow">https://glicol.org/</a><p>This example here is quite relevant:
<a href="https://glicol.org/tour#meta1" rel="nofollow">https://glicol.org/tour#meta1</a>