"From the aleph you begin, and in the aleph you conclude — though in the middle it seems the power has passed to the other letters." — Abraham Abulafia, Sefer ha-Tziruf (13th c.)
A small Lisp for kabbalistic computation. Ilan (אילן) is the kabbalists' word for the Tree of the sefirot. The language takes that Tree as its primitive: a living structure of branches that fold into a seed, are sown to disk, and sprout again in a fresh process after the old one has died — remembering their state. On that foundation it computes the classical objects of the tradition: the sefirot, gematria, and the address of a moment in a calendar of letters, planets and days.
Written in Common Lisp (tested on SBCL). Experimental — a working proof of an idea.
The unit is a branch — a node of a living Tree. Branches never touch each other directly; they reach only through an explicit channel wired from outside. The whole Tree folds into a seed (a readable form where behaviour is code and memory is data) and sprouts back from it, even in another process. Homoiconic Lisp is the point: form is data is executable, so to pack is to print, and to revive is to read.
Continuity is the base layer, not the subject. On top of it Ilan is meant for working the Tree: naming branches as sefirot, extracting meaning by algebra (gematria among them), and addressing moments along an axis of time.
sbcl --non-interactive --load "test-all.lisp" # run the full smoke test (7/7)(load "ilan.lisp")
(demo-tree) ; grow a Tree; pull light down, push a signal up
(sow "agent.seed") ; sow the seed to disk
;; …the process may die entirely…
(germinate "agent.seed") ; in a fresh SBCL — the Tree sprouts, memory intactIlan has two axes, both coalgebras:
- Space — the branches of one Tree (one moment).
foldis a catamorphism,sproutan anamorphism; their round-trip is an isomorphism, and behaviour that survives a process death is an element of the final coalgebra (bisimulation — identity as the form returned to, not a stored thing). - Time — a timeline of moments, each linking back to the last.
to-pastwalks the past (sealed snapshots);to-futureunfolds a possible future by a rule — always marked as prediction, never fact.
One Tree, many meanings. A catamorphism extracts meaning by an algebra: the same traversal yields a seed, a life-count, a name, or a gematria — swap the algebra, swap the meaning. Gematria uses the canonical mispar hechrachi table (alef=1 … tav=400); values check out by count (קבלה = 137, אחד = 13, חכמה = 73). Equal gematria is resonance, not proof — gematria is many-to-one.
The core primitives (ordinary Lisp symbols over s-expressions):
| name | meaning |
|---|---|
| branch · graft | a node; bring one into being |
| channel | an explicit link between branches |
| request / notify | pull (light down) / push (a signal up) |
| state | a branch's memory (travels in the seed) |
| fold / sprout | Tree ↔ seed (in memory) |
| sow / germinate | seed to disk (.seed) and back |
| moment · timeline | a snapshot Tree in time; the chain of moments |
| imprint / recall | freeze the present / restore a past moment |
ilan.lisp— core: branches, channels, seed, and the time axiscoalgebra.lisp— the branch functor and finality (bisimulation)algebras.lisp— many meanings over one Treetime-axis.lisp— moments and links between themfuture.lisp— forward unfold (prediction)gematria.lisp— canonical gematria (mispar hechrachi)sefirot.lisp— the Tree of the sefirot, with gematria and planetary/day correspondencestest-all.lisp·test-foundations.lisp— smoke test and the isomorphism proof
Load a file to run its demo; each is self-contained.
Ilan powers a contemplative web front-end — a large library of kabbalistic texts (Zohar, Etz Chaim, and more) addressed by the day and hour, with the living Tree on screen. It is a work in progress and not part of this repository. The engine here is yours: take it, extend it for your own work on the Tree, gematria, or a calendar — and if you'd like a front-end of your own, ask your AI assistant to build one against these primitives.
The living Tree of the sefirot — each node a branch, each path a Hebrew letter:
The address of a moment — weekday → sefira, planetary hour → letter → gematria:
A reader's clippings collect beside the Tree, each carrying its source:
Ilan stands on Niklaus Wirth (the module as a unit) and Aleksei Nedorya's architectural programming (Kronos, Trivil): the pure module whose links are declared and wired externally. Its own addition is the axis of continuity — behaviour and memory that travel and resurrect across the death of a process.
MIT · Aleksei Rybnikov (ORCID 0009-0009-8624-8720), 2026 · built with Tarantoga.


