The si-kanren Reference Manual

This is the si-kanren Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:42:06 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 si-kanren

A micro-Kanren implementation in Common Lisp

Author

rgc

License

MIT

Version

0.1.0

Source

si-kanren.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 si-kanren/src

Source

si-kanren.asd.

Parent Component

si-kanren (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 si-kanren/si-kanren.asd

Source

si-kanren.asd.

Parent Component

si-kanren (system).

ASDF Systems

si-kanren.

Packages

si-kanren-system.


4.1.2 si-kanren/src/si-kanren.lisp

Source

si-kanren.asd.

Parent Component

src (module).

Packages

si-kanren.

Internals

4.1.3 si-kanren/src/wrappers.lisp

Dependency

si-kanren.lisp (file).

Source

si-kanren.asd.

Parent Component

src (module).

Internals

5 Packages

Packages are listed by definition order.


5.1 si-kanren-system

Source

si-kanren.asd.

Use List
  • asdf/interface.
  • common-lisp.

5.2 si-kanren

Source

si-kanren.lisp.

Use List

common-lisp.

Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Internals


6.1.1 Special variables

Special Variable: empty-state
Package

si-kanren.

Source

wrappers.lisp.

Special Variable: mzero
Package

si-kanren.

Source

si-kanren.lisp.


6.1.2 Macros

Macro: conde (&rest clauses)
Package

si-kanren.

Source

wrappers.lisp.

Macro: conj+ (g &rest goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: disj+ (g &rest goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: fresh (&rest e)
Package

si-kanren.

Source

wrappers.lisp.

Macro: nlet-tail (n letargs &rest body)
Package

si-kanren.

Source

wrappers.lisp.

Macro: run (num (&rest queries) &body goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: run* ((&rest queries) &body goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: runi ((&rest queries) &body goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: runno (num (&rest queries) &body goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: runno* ((&rest queries) &body goals)
Package

si-kanren.

Source

wrappers.lisp.

Macro: zzz (g)
Package

si-kanren.

Source

wrappers.lisp.


6.1.3 Ordinary functions

Function: =/= (u v)
Package

si-kanren.

Source

si-kanren.lisp.

Function: == (u v)
Package

si-kanren.

Source

si-kanren.lisp.

Function: bind ($ g)
Package

si-kanren.

Source

si-kanren.lisp.

Function: call/empty-state (g)
Package

si-kanren.

Source

wrappers.lisp.

Function: call/fresh (f)
Package

si-kanren.

Source

si-kanren.lisp.

Function: conj (g1 g2)
Package

si-kanren.

Source

si-kanren.lisp.

Function: disequality (u v s)
Package

si-kanren.

Source

si-kanren.lisp.

Function: disj (g1 g2)
Package

si-kanren.

Source

si-kanren.lisp.

Function: dotted-pair-p (arg)
Package

si-kanren.

Source

wrappers.lisp.

Function: eigenvalue (v)
Package

si-kanren.

Source

wrappers.lisp.

Function: equal-lists (list1 list2)
Package

si-kanren.

Source

wrappers.lisp.

Function: equalv? (x y)
Package

si-kanren.

Source

si-kanren.lisp.

Function: ext-s (lvar v s)
Package

si-kanren.

Source

si-kanren.lisp.

Function: filter (f l)
Package

si-kanren.

Source

si-kanren.lisp.

Function: flatten (x)
Package

si-kanren.

Source

wrappers.lisp.

Function: lvar (c)
Package

si-kanren.

Source

si-kanren.lisp.

Function: lvar-or-atom (v l)

T if v in walking l is another lvar

Package

si-kanren.

Source

wrappers.lisp.

Function: lvar=? (x1 x2)
Package

si-kanren.

Source

si-kanren.lisp.

Function: lvar? (c)
Package

si-kanren.

Source

si-kanren.lisp.

Function: mapm (f l)
Package

si-kanren.

Source

si-kanren.lisp.

Function: mk-reify (s/c/d)
Package

si-kanren.

Source

wrappers.lisp.

Function: mplus ($1 $2)
Package

si-kanren.

Source

si-kanren.lisp.

Function: norm-cons (xs)
Package

si-kanren.

Source

wrappers.lisp.

Function: norm=lvars (d)
Package

si-kanren.

Source

wrappers.lisp.

Function: normalize (s/c/d)
Package

si-kanren.

Source

wrappers.lisp.

Function: normalize-conde (s/c/d)
Package

si-kanren.

Source

wrappers.lisp.

Function: normalize-disequality-store (s/c/d)
Package

si-kanren.

Source

si-kanren.lisp.

Function: normalize-fresh (s/c/d)
Package

si-kanren.

Source

wrappers.lisp.

Function: normalize-lists-seen (s ls)
Package

si-kanren.

Source

wrappers.lisp.

Function: normalize-subsumed (tree)
Package

si-kanren.

Source

wrappers.lisp.

Function: null? (x)
Package

si-kanren.

Source

si-kanren.lisp.

Function: pair? (v)
Package

si-kanren.

Source

si-kanren.lisp.

Function: pull (st)
Package

si-kanren.

Source

wrappers.lisp.

Function: reify-name (n)
Package

si-kanren.

Source

wrappers.lisp.

Function: reify-s (v s)
Package

si-kanren.

Source

wrappers.lisp.

Function: reify-state/1st-var (s/c/d)
Package

si-kanren.

Source

wrappers.lisp.

Function: remove-subsumed (d)
Package

si-kanren.

Source

wrappers.lisp.

Function: subsumed (v)
Package

si-kanren.

Source

wrappers.lisp.

Function: subtract-s (s^ s)
Package

si-kanren.

Source

si-kanren.lisp.

Function: take (n st)
Package

si-kanren.

Source

wrappers.lisp.

Function: take-all (st)
Package

si-kanren.

Source

wrappers.lisp.

Function: the-pos (u s)
Package

si-kanren.

Source

si-kanren.lisp.

Function: unify (u v s)
Package

si-kanren.

Source

si-kanren.lisp.

Function: unit (s/c/d)
Package

si-kanren.

Source

si-kanren.lisp.

Function: unused (v l)
Package

si-kanren.

Source

wrappers.lisp.

Function: walk (u s)
Package

si-kanren.

Source

si-kanren.lisp.

Function: walk* (v s)
Package

si-kanren.

Source

wrappers.lisp.

Function: walk-queries (n s/c/d)
Package

si-kanren.

Source

wrappers.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   =  
B   C   D   E   F   L   M   N   P   R   S   T   U   W   Z  
Index Entry  Section

=
=/=: Private ordinary functions
==: Private ordinary functions

B
bind: Private ordinary functions

C
call/empty-state: Private ordinary functions
call/fresh: Private ordinary functions
conde: Private macros
conj: Private ordinary functions
conj+: Private macros

D
disequality: Private ordinary functions
disj: Private ordinary functions
disj+: Private macros
dotted-pair-p: Private ordinary functions

E
eigenvalue: Private ordinary functions
equal-lists: Private ordinary functions
equalv?: Private ordinary functions
ext-s: Private ordinary functions

F
filter: Private ordinary functions
flatten: Private ordinary functions
fresh: Private macros
Function, =/=: Private ordinary functions
Function, ==: Private ordinary functions
Function, bind: Private ordinary functions
Function, call/empty-state: Private ordinary functions
Function, call/fresh: Private ordinary functions
Function, conj: Private ordinary functions
Function, disequality: Private ordinary functions
Function, disj: Private ordinary functions
Function, dotted-pair-p: Private ordinary functions
Function, eigenvalue: Private ordinary functions
Function, equal-lists: Private ordinary functions
Function, equalv?: Private ordinary functions
Function, ext-s: Private ordinary functions
Function, filter: Private ordinary functions
Function, flatten: Private ordinary functions
Function, lvar: Private ordinary functions
Function, lvar-or-atom: Private ordinary functions
Function, lvar=?: Private ordinary functions
Function, lvar?: Private ordinary functions
Function, mapm: Private ordinary functions
Function, mk-reify: Private ordinary functions
Function, mplus: Private ordinary functions
Function, norm-cons: Private ordinary functions
Function, norm=lvars: Private ordinary functions
Function, normalize: Private ordinary functions
Function, normalize-conde: Private ordinary functions
Function, normalize-disequality-store: Private ordinary functions
Function, normalize-fresh: Private ordinary functions
Function, normalize-lists-seen: Private ordinary functions
Function, normalize-subsumed: Private ordinary functions
Function, null?: Private ordinary functions
Function, pair?: Private ordinary functions
Function, pull: Private ordinary functions
Function, reify-name: Private ordinary functions
Function, reify-s: Private ordinary functions
Function, reify-state/1st-var: Private ordinary functions
Function, remove-subsumed: Private ordinary functions
Function, subsumed: Private ordinary functions
Function, subtract-s: Private ordinary functions
Function, take: Private ordinary functions
Function, take-all: Private ordinary functions
Function, the-pos: Private ordinary functions
Function, unify: Private ordinary functions
Function, unit: Private ordinary functions
Function, unused: Private ordinary functions
Function, walk: Private ordinary functions
Function, walk*: Private ordinary functions
Function, walk-queries: Private ordinary functions

L
lvar: Private ordinary functions
lvar-or-atom: Private ordinary functions
lvar=?: Private ordinary functions
lvar?: Private ordinary functions

M
Macro, conde: Private macros
Macro, conj+: Private macros
Macro, disj+: Private macros
Macro, fresh: Private macros
Macro, nlet-tail: Private macros
Macro, run: Private macros
Macro, run*: Private macros
Macro, runi: Private macros
Macro, runno: Private macros
Macro, runno*: Private macros
Macro, zzz: Private macros
mapm: Private ordinary functions
mk-reify: Private ordinary functions
mplus: Private ordinary functions

N
nlet-tail: Private macros
norm-cons: Private ordinary functions
norm=lvars: Private ordinary functions
normalize: Private ordinary functions
normalize-conde: Private ordinary functions
normalize-disequality-store: Private ordinary functions
normalize-fresh: Private ordinary functions
normalize-lists-seen: Private ordinary functions
normalize-subsumed: Private ordinary functions
null?: Private ordinary functions

P
pair?: Private ordinary functions
pull: Private ordinary functions

R
reify-name: Private ordinary functions
reify-s: Private ordinary functions
reify-state/1st-var: Private ordinary functions
remove-subsumed: Private ordinary functions
run: Private macros
run*: Private macros
runi: Private macros
runno: Private macros
runno*: Private macros

S
subsumed: Private ordinary functions
subtract-s: Private ordinary functions

T
take: Private ordinary functions
take-all: Private ordinary functions
the-pos: Private ordinary functions

U
unify: Private ordinary functions
unit: Private ordinary functions
unused: Private ordinary functions

W
walk: Private ordinary functions
walk*: Private ordinary functions
walk-queries: Private ordinary functions

Z
zzz: Private macros