Skip to content
Clojure+Ring CouchDB API implementation
Clojure
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src/hammockdb
.gitignore
license.md
project.clj
readme.md

readme.md

HammockDB

An very incomplete implementation of the CouchDB HTTP API in Clojure, inspired by the more complete Ruby equivalent Booth.

Why

Clojure's support for immutable data structures, functional programming, and sane concurrency align perfectly with CouchDB's design and enable a clean HammockDB implementation.

HammockDB also serves as a non-trivial example of a data-based web application composed with Ring and taking advantage of that library's synchronous and experimental asynchronous modes.

The name "HammockDB" comes from Rich Hickey's talk at the first clojure-conj, where he emphasized the importance of hard thinking on hard problems and suggested that hammocks might facilitate such thinking.

Usage

$ lein deps
$ lein run -m hammockdb.server
$ curl http://localhost:5984/
Something went wrong with that request. Please try again.