This is Steve Miner's blog about Clojure programming. Clojure is modern LISP for the Java VM.
Clojure links:Welcome to Conjobble. Here are my most recent blog posts:
April 21, 2015
Due to schedule conflicts, I wasn't able to attend the Clojure/West conference this year, but I'm very happy to see that the videos are already available, just a few hours after the live presentations.
April 4, 2015
As the documentation says, "Transducers are composable algorithmic transformations." They are functions of a particular form that end up being useful in a variety of contexts. The implementer needs to fullfill certain requirements in order to play nicely with the system. The payoffs are conceptual simplicity and good performance. The user doesn't need to understand all the magic of the implementation. He can simply compose the built-in transducer functions to get the desired result with minimal conceptual overhead.
March 3, 2015
Conjobble is a blog about Clojure programming.
conjobble -- to chat together; 'to concert, to settle, to discuss: a low cant word' - Samuel Johnson
conj -- a Clojure function to conjoin an item to a collection.
November 20, 2014
Presented at Clojure/Conj 2104
Property-based testing provides good test coverage and automatic shrinking of failure cases. However, coding universal properties with the test.check generator combinators is somewhat of an art. In many cases, it's easier to start from a declarative description of the test data. The Herbert library automatically generates test.check generators from EDN schemas. Learn how schemas can offer simplified testing, easier maintenance and better documentation for your Clojure code.
May 23, 2014
Here's a bit of old code for writing Roman Numerals:
November 15, 2013
Lightning Talk at Clojure/Conj 2013
This lightning talk introduced the Herbert project, which implements a schema language for Clojure data. The whiteboard-compatible notation (represented as EDN values) is useful for documentation and testing.
March 18, 2013
Presented at Clojure/West 2013
Don't panic if you're unsure about picking up data-readers. It turns out that tagged literals are mostly harmless. Much as Douglas Adams produced "The Hitchhicker's Guide" material in multiple forms, a Clojure programmer can assign data-readers to process tagged literals with customized implementations. Clojure 1.5 adds a new feature that makes dealing with unknown tags simple and convenient. We'll also talk about the Extensible Data Notation (EDN), which aims to be the Babel fish of data transfer. Finally, we will explore a few unorthodox uses for data-readers.
November 17, 2012
Presented at Clojure/Conj 2012
The core.logic library (a port of miniKANREN) has sparked an interest in logic programming among Clojure users. Back in the '80s, logic programming inspired the Japanese Fifth Generation Computer Systems Project, which was poised to leap past the rest of the world, but it didn't work out that way. In this talk, we'll review "What Went Wrong" (from Hewitt's infamous paper). We'll discuss some of the challenges that logic programming faces today and how Clojure might help.