Generate Clojure functions on demand via the LLM, caching the generated source so each function is only generated once.
(defextend (update-packages []) "Update all outdated dependencies")
defines update-packages immediately, right there: the body is written by
the LLM on the spot, persisted to generated-file, and eval'd into
hyperphor.ellum.generated. On a later call to defextend with the same
name -- a re-eval of the same form, or a future process once
generated-file has loaded -- the cached definition is reused and the LLM
isn't consulted again.
Ported from claude-extend (mt-elisp), which shells out to the claude
CLI since Emacs has no LLM client of its own; here we just call
hyperphor.ellum.core/query directly.
Generate Clojure functions on demand via the LLM, caching the generated source so each function is only generated once. (defextend (update-packages []) "Update all outdated dependencies") defines `update-packages` immediately, right there: the body is written by the LLM on the spot, persisted to `generated-file`, and eval'd into `hyperphor.ellum.generated`. On a later call to `defextend` with the same name -- a re-eval of the same form, or a future process once `generated-file` has loaded -- the cached definition is reused and the LLM isn't consulted again. Ported from `claude-extend` (mt-elisp), which shells out to the `claude` CLI since Emacs has no LLM client of its own; here we just call `hyperphor.ellum.core/query` directly.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |