Clojure Gazette 1.5
ClojurePy, Mudball programming, and a new book.
Clojure Gazette
Issue 1.5 - April 11, 2012
editorial
The Clojureverse is Expanding
It seems like Clojure is sprouting up everywhere! It is solidly planted in the JVM, .NET, Javascript, and now Python. Are there more coming? Meanwhile, the language itself is expanding. Logic programming, constraint programming, and programming by contract are all possible now. Soon, I imagine, we will have optional static type checking. My, my, my.
Eric Normand
purely functional
Purely Functional Data Structures(PDF)
The PhD dissertation of Chris Okasaki describing efficient persistent data structures. He outlines a model of time, a framework for measuring the efficiency of such data structures, and algorithms using them. Candy for the brain!
runtime takeover
It looks like Clojure is primed to run on yet another runtime. I am not certain, but it looks like it is following in Clojurescript's footsteps and implementing defprotocol as soon as possible.
Clojure-Py also has an ambitious roadmap:
version 1.0 -Fault-tolerant, distributed programming via Erlang style
concurrency. This will allow us to "code around the GIL" and at the
same time have distributed capabilities not seen in any other Clojure
dialect.
conference voyeurism
I have to admit I love online conference videos. I watch them while I work, cook, clean the dishes, everything! Lang.NEXT is a conference about programming languages, and it just started releasing videos from their recent event. Check them out.
only logical
Fair conjunction: status report
The inimitable Christophe Grand discusses how to deal with divergent logical branches. Some logical operators, like OR and AND, in the pure sense, do not depend on order (they are commutative). But in computation, they do! Christophe tackles this problem in a new branch of the core.logic github repo.
clojurecation
The new book by Chas Emerick, Brian Carper, and Christophe Grand is out. Support them if you can by buying a copy.
contracting
Trammel version 0.7.0 (reference invariants++)
A library by Fogus for contracts programming. I swear, Clojure is developing quite a large set of meta libraries.
tools
Clojure easier? s/lein/lein2 -- pomegranate is there already
Who would have thought that blog titles support regular expressions? Well, even if your blog engine does not, this post shows a couple of reasons why you might want to switch to lein2.
web resource
If you are into programming languages, you probably already know this blog with a very active community. I must admit, most discussion are way over my head. But there is always something interesting going on.
map reduce
A brief introduction to using Cascalog to easily script up Hadoop map/reduce jobs.
spaghetti bending
We have all had to work on software that was just a big ball of mud. Over the years, each developer add just a little more code to a massive system. No one knows how it works any more, and every day you feel more and more like chucking it all out and starting from scratch. Sound like your day job? Well, fear not! This veritable tome of wisdom casts a truth-seeking eye over the realities of dealing with mudball systems of all types.