All articles about Clojure
2018
Classes for structure, plain objects for data
An Idiom from Clojure applied to TypeScript.
2014
Clojure/West 2014 talks for web developers
Clojure/West is full of great talks. Here are three that web developers in Clojure should watch.
2013
In which parables are quoted
I steal from Phil Hagelberg's IRC comments again.
Static types are great, but I don't use them in practise
In which I foolishly chip into a long standing nerd debate.
Project templates
Leveraging Leiningen templates for great starting out experiences.
2012
The right abstraction
In which Phil Hagelberg comments on abstraction.
The Clojure web stack and the CRUD stack
Why it is my opinion that Clojure is better off with out a CRUD web framework.
ANN: necessary-evil 2.0.0
Necessary-Evil, the Clojure XML-RPC library has reached version 2.
Configuration middleware
This article looks at how Ring middleware and dynamic binding presents a powerful tool for controlling configuration in Clojure web apps.
2011
ANN: An improved Clojure brush for Syntax Highlighter
Introducing a new Clojure brush for the Syntax Highlighter javascript library.
Simple L‑system generation
A simple but functional implementation of L-Systems in Clojure.
Ready‑made customization
Prefix < and >
A brief overview of the Clojure web stack
Ring is the foundation of web programming in Clojure. It has a broad ecosystem of libraries that fullfil many different roles in the web stack. This article introduces the fundamental concepts of Ring as well as four major libraries, and explains common idioms to help you get started quickly.
Parsers generating parsers
Following my introduction to fnparse
, this article looks at how more common functional programming tools can be leveraged to make parsers that output new parsers.
Start parsing in Clojure: fnparse
Parser combinators are a powerful way of expressing complex parsers as first class operations in a language with first class functions. This tutorial introduces one such library, fnparse
, for Clojure.
Error monads revisited
An error monad in Clojure
2010
ANN: Necessary-Evil
Necessary-Evil is an XML RPC library for Clojure.
Impedance mismatch with CouchDB
Some observations, both positive and negative, from using CouchDB to build this site.
Monads: redux
Thoughts on the appropriateness of monads in Clojure.
Ghosts in the machine
Following on from looking at state monads in the context of Clojure, this article looks at variations that add different forms of state-m
of non-determinism.
Welcome to the machine
A close look at how the state monad is implemented and used in Clojure.
A couple of lists
Further comparisons between Python and Clojure.
On iteration
How Python's view of iteration lead me to Clojure.