Clojure: Essential Libs for Web App

By Xah Lee. Date: . Last updated: .

here's sample of clojure libraries. They are dependencies of the gorilla-repl. [see Interactive Clojure Notebook: gorilla-repl]

Libs for Server

ring → Essential web app lib. Abstraction of HTTP. Like python's WSGI and Ruby's Rack.

http-kit → ring-compatible minimal HTTP client and server.

ring-json → Standard Ring middleware functions for JSON requests/responses

Compojure → routing lib for Ring that allows web applications to be composed of small, independent parts.

general web related libs

Hiccup → HTML in Clojure syntax. It uses vectors to represent elements, and maps to represent an element's attributes.

cheshire → JSON encode/decode.

base64 encode/decode

nrepl → clojure network repl. Eval clojure code over network.


Carmine → A Clojure Redis client and message queue

front end, JavaScript, ClojureScript

Reagent: Minimalistic React for ClojureScript


clj-semver → version string parser, for example, parse “3.12.2”.

For Emacs

cider → emacs integration [see Emacs: Clojure CIDER Tutorial]

Clojure-complete → is an symbol completion library for Clojure

not sure about the following. Leaving them here for now.

Simple Logging Facade for Java (SLF4J) → The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (example: java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.

logging framework

If you have a question, put $5 at patreon and message me.


  1. Clojure Install
  2. Leiningen Basics
  3. Emacs CIDER
  4. Doc Lookup, Find f

  1. Clojure Basics
  2. List, Map, …
  3. Functions
  4. Function Chaining
  5. Partial Function
  6. Binding Form
  7. regex
  8. Namespace
  9. metadata
  10. macro
  11. Calling Java
  12. Magic Chars '\@^#`~.