Hacker News new | ask | show | jobs
by roninhacker 1911 days ago
>And because "concise" should be measure in the number of tokens needed to achieve certain functionality, not by excessive use of single character tokens.

I am totally nitpicking here, but as a longtime Clojure programmer, I do have a bit of APL envy. Aaron Hsu (noted APL guy) made the point that brevity (in the linear, #-of-characters sense) let's you decrease complexity by avoiding indirection---when the body of a function is shorter than any name you might give it, you can just...write it...rather than writing it somewhere else and calling it.

I don't plan to switch away from Clojure any time soon, but I definitely want to play around with the APLs.

1 comments

You may be interested in April[0], a version of APL embedded in Common Lisp so that it can be called as part of a CL program. Also, my own language BQN[1] is a rework of APL that comes much closer to Lisp in that it has first-class functions and closures. It's self-hosted (using a compiler that follows Aaron's strategy), allowing it to be embedded in other languages with relatively little effort, but currently poor performance. There are Javascript and C VMs with another programmer working on one in Erlang; Clojure could definitely be a possibility.

[0] https://github.com/phantomics/april

[1] https://mlochbaum.github.io/BQN/

Wow, this is totally cool, thank you!