Quil (https://github.com/quil/quil) is a Clojure library that provides an enormous amount of flexibility to produce custom visualizations. It wraps Processing (https://processing.org/), a Java framework that's been actively developed for many years by visual artists and designers, which aims promote "software literacy in visual arts and visual literacy within technology".
Any visualization done with Quil involves creating a sketch. A sketch is processing's term for a running a program that consists of drawing instructions. Most API functions are available from the quil.core
namespace. We'll include it in our code as q
. Calling q/sketch
without any arguments will cause an empty window to pop up (although it may be obscured by other windows).