Skip to content

Clojure REPLλ︎

Use the Clojure repl to

  • call functions from clojure core
  • create symbol names (def) that represent a value
  • write custom functions (defn) and call them with data
  • see immediate results when evaluating code

Getting Startedλ︎

Install Clojure CLI and Practicalli Clojure CLI Config for a comprehensive set of developmet tools.

Use a terminal UI REPL as a quick way to get started, or set up a preferred Clojure editor.

Editor Connected REPL

An Editor connected REPL is recommended once working with Clojure projects

Create a Clojure project from a template

:project/create alias from Practicalli Clojure CLI Config will create a Clojure project structure

clojure -T:project/create :name github-name/project-name

Terminal UI REPLλ︎

Rebel Readline provides a rich REPL experience, providing syntax highlighting, function signatures and documentation.

The REPL can be used with or without a Clojure project.

Start Rebel Readline REPL using the :repl/rebel alias provided by Practicalli Clojure CLI Config

clojure -M:repl/rebel

Rebel REPL Terminal UI

Clojure Editorsλ︎

Clojure editors are the preferred way to write code and evaluating source code. Working with source files is more effective than entering all expressions directly at a REPL prompt.

Use an editor to jack-in (start) a Clojure REPL process and connect to the running REPL.

Or connect to a running REPL process, e.g. Rebel Terminal UI (over a network repl, nREPL).

Use an editor that is most familiar or comfortable to minimise the learning curve.

Clojure editors should provide

  • running / connecting to a REPL process
  • evaluation results inline (instant feedback on code behaviour)
  • syntax highlighting, including parens matching
  • Structural editing, balancing parens (paredit / parinfer)
  • data inspector to navigate large & nested data, or connection to external data inpector tools

Clojure aware editors

:fontawesome-solid-book-open: Clojure Editor connected REPL