IN/Clojure 2020

India's annual Clojure and ClojureScript conference. 14th-15th Feb, 2020. Pune, MH, IN.



Suvrat Apte


Debuggers in Lisps

Submitted Nov 7, 2019

Debuggers are one of the most essential tools for any kind of development.

Debuggers in Lispy languages make use of Lisp’s homoiconicity. They are a bit different from debuggers for languages like C or Java.

This kind of information is usually not needed in day to day development and hence it remains hidden.

In this talk, I will take Clojure’s cider-debug as an example and explain how it uses homoiconicity. Along with cider-debug, I will also talk about REPLs and how REPL client-server communication happens (with nREPL as an example).


  1. Why do we need debuggers.
  2. How GDB works.
  3. Properties of Lisp.
  4. REPLs.
  5. Cider-nrepl.
  6. Cider-debug.
  7. How Cider debug works.
  8. Conclusion.


I’m going to try and explain most of the things without assuming any prior knowledge of Clojure.
But being familiar with Clojure (or some Lisp) will surely help.

Speaker bio

Software Artisan at Helpshift Inc.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

IN/Clojure is India’s annual Clojure and ClojureScript conference, including talks about features, libraries, tools, usage, and more. IN/Clojure 2020, our 4th edition, is happening on 14th and 15th Feb 2020 (Fri/Sat) in Pune, Maharashtra. more