Author Archives: Stuart
Slightly Less Typed Assertions
A couple of weeks ago I wrote about typed assertions for Lazytest. Like so many things, it seemed like a good idea at the time. Define typed objects for each kind of assertion (e.g., equality, instanceof). When a test fails, … Continue reading
Lazytest Churn
One of my stated goals with Lazytest was to enforce a clean separation between test assertions and code that runs before/around the assertions. The Spock framework for Java/Groovy calls these the stimulus and response, identified by the keywords when and … Continue reading
Two Steps Forward, One Step Back
Following my last post I integrated typed assertions into the master branch of Lazytest. This makes some changes to the API. Test examples in the it macro can no longer simply return true or false. Instead, they must call the … Continue reading
Typed Assertions Tell You What Hurts
One thing clojure.test did reasonably well was tell you why an assertion failed. Currently, Lazytest fails in this regard. The problem with requiring test functions to return true/false to indicate pass/fail is that they can’t attach any additional information to … Continue reading
A Journey of a Thousand Lines Begins with a Single Test
I have a curious obsession with testing frameworks. The first thing I do with any new programming language is try to write a test framework in it. It’s a useful exercise for exploring the metaprogramming facilities provided by any language. … Continue reading
Spread Thin
With the profusion of “community” web sites around today, it’s getting hard to keep track of where your “community” is. For example, the “Clojure community” exists in 7 places: clojure.org (main documentation) Github (source code) Assembla (bug tracking) Wikibooks (more … Continue reading
Keyword Arguments in Clojure, the Right Way
Update Feb. 10, 2010: I was wrong. Recent discussions indicate that placing optional arguments in-line, as in my first example, is preferred. In the future, Clojure may have destructuring support for this style. For now, this post remains a useful … Continue reading
clojure-hadoop 1.1.0 release
I’ve made a new version of my clojure-hadoop library. Downloads are on the main page. List of changes here. This fixes some missing pieces in the first release, and adds some more Hadoop configuration options.
Clojure-Hadoop 1.0.0
At long last, I have made a formal release of my clojure-hadoop library. Downloads and more information here. The 1.0.0 release is documented, but not in exhaustive detail. Other people have used this successfully, but it may not support all … Continue reading
Agents of Swing
The title of this post would make a good name for a band. Anyway, today I’m going to talk about Swing and concurrency and Clojure. The Swing framework is not thread-safe. That may sound strange at first, but there’s actually … Continue reading