meme public API: read and print meme syntax.
Three tracks: text-to-form: meme->forms, forms->meme (all platforms) form-to-text: forms->clj (all platforms), clj->forms (JVM only) text-to-text: meme->clj (all platforms), clj->meme (JVM only)
Stages: meme.stages/run — scan + parse stages with intermediate state (no expand/rewrite)
meme public API: read and print meme syntax. Three tracks: text-to-form: meme->forms, forms->meme (all platforms) form-to-text: forms->clj (all platforms), clj->forms (JVM only) text-to-text: meme->clj (all platforms), clj->meme (JVM only) Stages: meme.stages/run — scan + parse stages with intermediate state (no expand/rewrite)
(clj->forms clj-src)Read Clojure source string, return a vector of forms. JVM/Babashka only — Clojure's reader is needed for full form support.
Read Clojure source string, return a vector of forms. JVM/Babashka only — Clojure's reader is needed for full form support.
(clj->meme clj-src)Convert Clojure source string to meme source string. JVM/Babashka only.
Convert Clojure source string to meme source string. JVM/Babashka only.
(format-meme forms)(format-meme forms opts)Format Clojure forms as canonical meme source string (multi-line, indented). opts: {:width 80}
Format Clojure forms as canonical meme source string (multi-line, indented).
opts: {:width 80}(forms->clj forms)Print Clojure forms as Clojure source string with reader sugar. Expands syntax-quote AST nodes since Clojure has no backtick form.
Print Clojure forms as Clojure source string with reader sugar. Expands syntax-quote AST nodes since Clojure has no backtick form.
(forms->meme forms)Print Clojure forms as meme source string (single-line per form).
Print Clojure forms as meme source string (single-line per form).
(meme->clj meme-src)(meme->clj meme-src opts)Convert meme source string to Clojure source string. opts map: same as meme->forms (e.g. :resolve-keyword).
Convert meme source string to Clojure source string. opts map: same as meme->forms (e.g. :resolve-keyword).
(meme->forms s)(meme->forms s opts)Read meme source string, return a vector of Clojure forms. opts map: :resolve-keyword — fn that resolves auto-resolve keyword strings ("::foo") to keywords at read time. Required on CLJS (errors without it, since cljs.reader cannot resolve :: correctly). :read-cond — :preserve to return ReaderConditional objects instead of evaluating. Default: evaluate for current platform. Note: returns only parsed forms. Use run-stages when you need access to intermediate state (raw tokens, tokens, or forms).
Read meme source string, return a vector of Clojure forms.
opts map:
:resolve-keyword — fn that resolves auto-resolve keyword strings ("::foo")
to keywords at read time. Required on CLJS (errors
without it, since cljs.reader cannot resolve :: correctly).
:read-cond — :preserve to return ReaderConditional objects instead of
evaluating. Default: evaluate for current platform.
Note: returns only parsed forms. Use run-stages when you need
access to intermediate state (raw tokens, tokens, or forms).(run-stages source)(run-stages source opts)Run the reader stages: source → scan → parse (no syntax-quote expansion or rewrite). Returns a context map with :source, :opts, :raw-tokens, :tokens, :forms. Useful for tooling that needs intermediate state.
Run the reader stages: source → scan → parse (no syntax-quote expansion or rewrite). Returns a context map with :source, :opts, :raw-tokens, :tokens, :forms. Useful for tooling that needs intermediate state.
The meme library version string. Deref to get the value: @meme.core/version. Reads from meme/version.txt on the classpath (JVM/Babashka). nil on CLJS.
The meme library version string. Deref to get the value: @meme.core/version. Reads from meme/version.txt on the classpath (JVM/Babashka). nil on CLJS.
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 |