Clojure: the Lisp that wants to spread
NOTE: this blog post was originally published on my Github pages. At the time, it generated a lot of discussion on Hacker News.
From its humble beginnings, Clojure was always meant to be a “hosted” language. It is important to note that while the Clojure of today is definitely a tightly integrated JVM (Java Virtual Machine) language, there were always multiple implementations of Clojure.
The language was consciously designed with its host abstracted away, apart from the host-specific functions in the java namespace and in glimpses of Java interop code. The same held for the CLR implementation of Clojure for the .NET Common Language Runtime, released concurrently, with its very similar-looking interop code.
Interestingly, Rich Hickey made an implementation of Clojure in Common Lisp too, but abandoned it prior to the public announcement of Clojure.
Keep reading ↪