API for clojure.repl - Clojure v1.12.4 (stable)
Full namespace name: clojure.repl
Overview
Utilities meant to be used interactively at the REPL
Public Variables and Functions
apropos
functionUsage: (apropos str-or-pattern)
Given a regular expression or stringable thing, return a seq of all public definitions in all currently-loaded namespaces that match the str-or-pattern.Source
demunge
functionUsage: (demunge fn-name)
Given a string representation of a fn class, as in a stack trace element, returns a readable version.Added in Clojure version 1.3
Source
dir-fn
functionUsage: (dir-fn ns)
Returns a sorted seq of symbols naming public vars in a namespace or namespace alias. Looks for aliases in *ns*Source
doc
macroUsage: (doc name)
Prints documentation for a var or special form given its name, or for a spec if given a keywordAdded in Clojure version 1.0
Source
find-doc
functionUsage: (find-doc re-string-or-pattern)
Prints documentation for any var whose documentation or name contains a match for re-string-or-patternAdded in Clojure version 1.0
Source
pst
functionUsage: (pst)
(pst e-or-depth)
(pst e depth)
Prints a stack trace of the exception, to the depth requested. If none supplied, uses the root cause of the most recent repl exception (*e), and a depth of 12.Added in Clojure version 1.3
Source
root-cause
functionUsage: (root-cause t)
Returns the initial cause of an exception or error by peeling off all of its wrappersAdded in Clojure version 1.3
Source
set-break-handler!
functionUsage: (set-break-handler!)
(set-break-handler! f)
Register INT signal handler. After calling this, Ctrl-C will cause the given function f to be called with a single argument, the signal. Uses thread-stopper if no function given.Source
source
macroUsage: (source n)
Prints the source code for the given symbol, if it can find it. This requires that the symbol resolve to a Var defined in a namespace for which the .clj is in the classpath. Example: (source filter)Source
source-fn
functionUsage: (source-fn x)
Returns a string of the source code for the given symbol, if it can find it. This requires that the symbol resolve to a Var defined in a namespace for which the .clj is in the classpath. Returns nil if it can't find the source. For most REPL usage, 'source' is more convenient. Example: (source-fn 'filter)Source
stack-element-str
functionUsage: (stack-element-str el)
Returns a (possibly unmunged) string representation of a StackTraceElementAdded in Clojure version 1.3
Source
thread-stopper
functionUsage: (thread-stopper)
(thread-stopper thread)
Returns a function that takes one arg and uses that as an exception message to stop the given thread. Defaults to the current threadSource
clojure.repl.deps
clojure.repl.deps provides facilities for dynamically modifying the available libraries in the runtime when running at the REPL, without restarting
Public Variables and Functions
add-lib
functionUsage: (add-lib lib coord)
(add-lib lib)
Given a lib that is not yet on the repl classpath, make it available by
downloading the library if necessary and adding it to the classloader.
Libs already on the classpath are not updated. Requires a valid parent
DynamicClassLoader.
lib - symbol identifying a library, for Maven: groupId/artifactId
coord - optional map of location information specific to the procurer,
or latest if not supplied
Returns coll of libs loaded, including transitive (or nil if none).
For info on libs, coords, and versions, see:
https://clojure.org/reference/deps_and_cli
Added in Clojure version 1.12Source
add-libs
functionUsage: (add-libs lib-coords)
Given lib-coords, a map of lib to coord, will resolve all transitive deps for the libs together and add them to the repl classpath, unlike separate calls to add-lib.Added in Clojure version 1.12
Source
sync-deps
functionUsage: (sync-deps & {:as opts})
Calls add-libs with any libs present in deps.edn but not yet present on the classpath. :aliases - coll of alias keywords to use during the syncAdded in Clojure version 1.12
Source
Copyright 2007-2025 by Rich Hickey
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.
Clojure auto-documentation system by Tom Faulhaber.
