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 (e.g. 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 '\@^#`~.