Along your journey of building applications and libraries in Clojure, you'll surely run into situations where it would be helpful to debug your code. The usual response to such a situation is to use an Integrated Development Environment (IDE) with a debugger. And while Clojure IDEs such as CIDER (https://github.com/clojure-emacs/cider) and Counterclockwise (http://doc.ccw-ide.org) do support debugging, there are a few simpler constructs and tools that we can use to troubleshoot our code. Let's have a look at a few of them.
One of the easiest ways to debug your code is by printing the value of some variables used within a function. We could use the standard println
function for this purpose, but it doesn't always produce the most readable output for complex data types. As a convention, we should use the clojure.pprint/pprint
function to print variables to the console. This function is the standard pretty-printer of the Clojure language.