Clojure Gazette 1.73
Analysis, Reaction, and a StatisticalModelOfJavaClassName
Issue 1.73April 20, 2014
Just another issue with some of the cool stuff I've found around the web.
P.S. I love hearing from readers. Just reply to this email!
tools.analyzer is a Clojure contrib library for analyzing Clojure code. It emits an AST. This is a short guide to the structure of the AST. If you need to do anything with Clojure code (compilers, analyzers, or complex macros), you should start with tools.analyzer. For a nice introduction, see Timothy Baldridge's talk at Clojure/West .
An interesting approach to the motivations behind React. While most MVC frameworks are built around stateful objects and are basically sets of tools for managing that, React takes a functional approach, aiming for referential transparency. This is also an example of a talk where Clojure and Rich Hickey's influence is evident outside of the Clojuresphere. Clojure is making waves.
John Hughes explains how they used property-based testing to test complex behavior in ejabberd, the most popular XMPP chat server, written in Erlang. Hughes details how they modeled time, how they use and modified the shrinking property, and the kinds of bugs they found. Lots of great lessons.
Java class names
What a great idea! Build a Markov chain from Java class names in a large codebase, then generate new classnames from the Markov chain. The result? This fun game where you try to guess which class name is real. Open source and written in Clojure.