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)
Pipeline: meme.alpha.pipeline/run — full ctx->ctx pipeline with intermediate state
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) Pipeline: meme.alpha.pipeline/run — full ctx->ctx pipeline with intermediate state
Pretty-printer: Clojure forms → idiomatic multi-line meme text. Width-aware — uses indented parenthesized form for multi-line calls.
Pretty-printer: Clojure forms → idiomatic multi-line meme text. Width-aware — uses indented parenthesized form for multi-line calls.
meme printer: Clojure forms → meme text.
meme printer: Clojure forms → meme text.
Consistent error infrastructure for the meme reader/tokenizer.
All error throw sites should use meme-error to ensure uniform
location tracking and message formatting.
Consistent error infrastructure for the meme reader/tokenizer. All error throw sites should use `meme-error` to ensure uniform location tracking and message formatting.
Shared form-level predicates and constructors. Cross-stage contracts that both the parser and printer depend on.
Shared form-level predicates and constructors. Cross-stage contracts that both the parser and printer depend on.
meme reader: recursive-descent parser. Transforms meme tokens into Clojure forms.
meme reader: recursive-descent parser. Transforms meme tokens into Clojure forms.
Value resolution: converts raw token text to Clojure values. All resolution is native — no delegation to read-string.
Value resolution: converts raw token text to Clojure values. All resolution is native — no delegation to read-string.
Explicit pipeline composition: source → scan → group → parse → resolve → forms. Each stage is a ctx -> ctx function operating on a shared context map.
Explicit pipeline composition: source → scan → group → parse → resolve → forms. Each stage is a ctx -> ctx function operating on a shared context map.
Unified CLI. Functions accept a map — works with both clj -T and bb.
Unified CLI. Functions accept a map — works with both clj -T and bb.
meme REPL: read meme, eval as Clojure, print result.
meme REPL: read meme, eval as Clojure, print result.
Run .meme files: read, eval, return last result.
Run .meme files: read, eval, return last result.
Token grouping stage: pass-through (all forms are now parsed natively by the recursive-descent parser). Retained for pipeline symmetry.
Token grouping stage: pass-through (all forms are now parsed natively by the recursive-descent parser). Retained for pipeline symmetry.
Scanner-level source-position utilities. Defines the character-level line/col model used by the tokenizer and grouper. Only \n advances the line counter — \r is a regular character that occupies a column. This matches sadvance! in the tokenizer.
Note: this is the scanner line model, not a universal line definition. The error display module (meme.alpha.errors/source-context) uses str/split-lines which has different line-ending semantics (splits on both \n and \r\n). The two models agree for LF sources but diverge for CRLF. See format-error for how the bridge is handled.
Scanner-level source-position utilities. Defines the character-level line/col model used by the tokenizer and grouper. Only \n advances the line counter — \r is a regular character that occupies a column. This matches sadvance! in the tokenizer. Note: this is the *scanner* line model, not a universal line definition. The error display module (meme.alpha.errors/source-context) uses str/split-lines which has different line-ending semantics (splits on both \n and \r\n). The two models agree for LF sources but diverge for CRLF. See format-error for how the bridge is handled.
meme tokenizer: character scanning and token production. Transforms meme source text into a flat vector of typed tokens.
meme tokenizer: character scanning and token production. Transforms meme source text into a flat vector of typed tokens.
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 |