Comment by lioeters

19 days ago

That'a great example that demonstrates the idea in the article. And it concisely shows a functional insight in the language design of Clojure. I'm not a daily Lisp user yet, but as I learn more about it, I'm drawn to its many charms.

This particular case is unique to Clojure, I believe. You definitely can’t do that in Common Lisp , and Scheme I am not so sure. It was one of the main motivations for Rich Hickey to make the language more uniform so that a few functions work on any number of data structures.

  • > This particular case is unique to Clojure, I believe.

    It also works in pure lambda calculus (assuming you define a vector type). But in lambda calculus, literally every value is a function.