Tuesday, April 20, 2010

Another reason Virtual Machines are amazing

http://github.com/codahale/yoink

The details aren't important, but basically:
1. Clojure is a Lisp-like language which runs on the JVM, Scala a more C/Java style language which also runs on the JVM.
2. Clojure writes high performance immutable data structures which can handle small updates w/o copying the entire structure.
3. Clever Scala programmer just wraps the Clojure collection in a thin Scala wrapper.

I know language interop on the JVM has been evolving for some time, but it's especially neat to see when neither of the languages are Java!  We're entering an era where you will not know or care what language your libraries are written in.