Posts with keyword: clojure


Languages Have Power

Programming language choice matters. Languages have the power to push us out of familiar ways of working and into new ways of thinking. But using a language out of the mainstream takes real courage.
Continue reading {Languages Have Power}


Tail Optimized Mutual Recursion in Clojure

Clojure, a LISP-dialect dynamic language that targets the JVM has been generating some interest in the programming language community lately. By targeting the JVM, Clojure gets speedy performance in a cross platform way. One of the problems with targeting the JVM with a dynamic language that relies heavily on recursion is that the JVM doesn't support tail recursion (also called tail call optimization). The idea is pretty simple: for some common patterns of recursion the function call can be removed and the recursive function be optimized to a loop. The result is not only programs that run faster, but
Continue reading {Tail Optimized Mutual Recursion in Clojure}