Gorilla-REPL is analogous to what IPython notebooks are for Python. It provides a web page with markdown and code where one can experiment on various data sets and save the results, use it for code snippets, documentation and such. And it works pretty decently. Gorilla-REPL provide lein plugin integration. Using it with boot can be done using sooheon/boot-gorilla library. A sample boot task is shown below.
#!/usr/bin/env boot
(set-env!
:source-paths #{"src" "test"}
:resource-paths #{"resources"}
:dependencies '[[org.clojure/clojure "1.9.0"]
[sooheon/boot-gorilla "0.1.1-SNAPSHOT"]])
(require '[sooheon.boot-gorilla :refer [gorilla]])
(deftask grepl []
(gorilla :port 8002 :ip "127.0.0.1" :block true))
Start the Gorilla-REPL using boot grepl
.
boot grepl
Gorilla-REPL: 0.4.1-SNAPSHOT
Started nREPL server on port 52660
Running at http://127.0.0.1:8002/worksheet.html .
Ctrl+C to exit.
<< started Gorilla REPL on http://127.0.0.1:8002 >>
Navigate to http://127.0.0.1:8002/worksheet.html to see the Clojure notebook. Required dependencies can be added to the boot build script, which will be available in the worksheet. Worksheets are saved as Clojure code. We can use gorilla-repl viewer to view these file online.