hwechtla-tl:
Clojure repl with autoreload and important other niceties
(nettipäiväkirja 01.02.2018)
As it seems I'm now sharing all kinds of things related to clojure, I
think I'll also share my ~/.lein/profiles.clj:
{:user
{:dependencies
[[org.clojars.gjahad/debug-repl "0.3.3"]
[im.chit/lucid.core.inject "1.2.8"]
[im.chit/lucid.mind "1.2.8"]
[com.cemerick/pomegranate "0.3.1"]
[org.clojure/tools.namespace "0.2.11"]]
:injections
[(require '[lucid.core.inject :as inject])
(inject/inject '[>
[clojure.tools.namespace.repl refresh]
[clojure.repl doc source dir]
[cemerick.pomegranate add-dependencies]
[lucid.mind .> .? .* .% .%> .& .>ns .>var]
[clojure.pprint pprint pp]])]
:plugins [[lein-autoreload "0.1.1"]]}}
- clojure.tools.namespace.repl/refresh: this very important service is
the best way that I know of, to ensure that the code running in your
clojure instance is the same code as what is currently in your source
files. It also deals with deleted definitions, renamed namespaces,
and similar stuff.
- clojure.repl: you just want these introspective definitions to be
available after you change your namespace with (in-ns).
- cemerick.pomegranate/add-dependencies: if you need a new library but
don't want to restart your process.
- lucid.mind: all kinds of reflective queries on clojure objects. Use
when you want to know e.g. the methods that a Java class provides.
- clojure.pprint/pprint: when you want to take a look at the results of
a function call.
kommentoi
(viimeksi muutettu 01.02.2018 15:18)