domains/domains.lisp
Return the exact number of sites in finite domain.
This deliberately says nothing about coordinate or offset representation. Those mappings belong to concrete domain protocols and are added only when a client needs to traverse them.
An append-only finite domain whose semantic members have EQ identity.
MEMBERS is the adjustable vector interpreting every dense offset. Appending a new identity increments REVISION without moving any old offset, so retained dense columns stay meaningful. Clients borrow MEMBERS rather than copying it; snapshots which cross an ownership boundary must freeze it explicitly.
Return an append-only EQ vocabulary initially containing members.
Return the semantic member interpreted by offset under domain.
Return member's stable dense offset, appending it when intern-p and new.
An immutable finite domain whose semantic sites are keyword symbols.
The member vector is the explicit interpretation of every dense offset. A shape change creates another domain rather than changing what an existing offset means; persisted or borrowed indices therefore remain closed by the domain they travel with.
Return an immutable keyword domain preserving members' order exactly.
Duplicate or non-keyword members are rejected. The resulting mapping is appropriate for dense runtime columns and for explicit persisted vocabulary tables; the keyword is semantic identity and its offset is only meaningful under this domain.
Return a fresh vector containing domain's keywords in dense-offset order.
Return keyword's dense offset under domain.
When error-p is false, return NIL for a keyword outside the domain.
Return the semantic keyword interpreted by offset under domain.
(domain)Return the exact number of sites in finite DOMAIN. This deliberately says nothing about coordinate or offset representation. Those mappings belong to concrete domain protocols and are added only when a client needs to traverse them.
An append-only finite domain whose semantic members have EQ identity. MEMBERS is the adjustable vector interpreting every dense offset. Appending a new identity increments REVISION without moving any old offset, so retained dense columns stay meaningful. Clients borrow MEMBERS rather than copying it; snapshots which…
((agent application-agent) &key)Logical conjunction of tests and raw truth values.
Test whether one compatible scalar is greater than another.
(&key members limit)(domain offset)Test whether one compatible scalar is at most another.
Test whether one compatible scalar is less than another.
(domain member &optional (intern-p t))Logical negation of one test or raw truth value.
Test whether one compatible scalar is at least another.
An immutable finite domain whose semantic sites are keyword symbols. The member vector is the explicit interpretation of every dense offset. A shape change creates another domain rather than changing what an existing offset means; persisted or borrowed indices therefore remain closed by the domain they travel with.
(members)Return an immutable keyword domain preserving MEMBERS' order exactly. Duplicate or non-keyword members are rejected. The resulting mapping is appropriate for dense runtime columns and for explicit persisted vocabulary tables; the keyword is semantic identity and its offset is only meaningful under this domain.
(domain)(domain keyword &optional (error-p t))Return KEYWORD's dense offset under DOMAIN. When ERROR-P is false, return NIL for a keyword outside the domain.
(domain offset)
Small protocols shared by finite-domain materializations.