Misc utilities used in nREPL's implementation (potentially also useful for anyone extending it).
Misc utilities used in nREPL's implementation (potentially also useful for anyone extending it).
(java-8?)
Util to check if we are using Java 8. Useful for features that behave differently after version 8.
Util to check if we are using Java 8. Useful for features that behave differently after version 8.
(requiring-resolve sym)
Resolves namespace-qualified sym per 'resolve'. If initial resolve fails, attempts to require sym's namespace and retries. Returns nil if sym could not be resolved.
Resolves namespace-qualified sym per 'resolve'. If initial resolve fails, attempts to require sym's namespace and retries. Returns nil if sym could not be resolved.
(response-for {:keys [session id]} & response-data)
Returns a map containing the :session and :id from the "request" msg
as well as all entries specified in response-data
, which can be one
or more maps (which will be merged), or key-value pairs.
(response-for msg :status :done :value "5") (response-for msg {:status :interrupted})
The :session value in msg
may be any Clojure reference type (to accommodate
likely implementations of sessions) that has an :id slot in its metadata,
or a string.
Returns a map containing the :session and :id from the "request" `msg` as well as all entries specified in `response-data`, which can be one or more maps (which will be merged), *or* key-value pairs. (response-for msg :status :done :value "5") (response-for msg {:status :interrupted}) The :session value in `msg` may be any Clojure reference type (to accommodate likely implementations of sessions) that has an :id slot in its metadata, or a string.
(returning x & body)
Executes body
, returning x
.
Executes `body`, returning `x`.
(with-session-classloader session & body)
This macro does two things:
If the session has a classloader set, then execute the body using that. This is typically used to trigger the sideloader, when active.
Bind clojure.lang.Compiler/LOADER
to the context classloader, which
might also be the sideloader. This is required to get hotloading with
pomegranate working under certain conditions.
This macro does two things: 1. If the session has a classloader set, then execute the body using that. This is typically used to trigger the sideloader, when active. 2. Bind `clojure.lang.Compiler/LOADER` to the context classloader, which might also be the sideloader. This is required to get hotloading with pomegranate working under certain conditions.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close