The cl-kanren Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-kanren Reference Manual

This is the cl-kanren Reference Manual, version 0.1.0, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:22:41 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

[[http://quickdocs.org/cl-kanren/][http://quickdocs.org/badge/cl-kanren.svg]]

* cl-kanren

Cl-kanren  An  implementation of  [[http://minikanren.org][miniKanren]]
wrappend          around         an          implementation         of
[[http://minikanren.org/#microKanrenPaper][microKanren]].

In        short       is        a       library        for       embed
[[https://en.wikipedia.org/wiki/Logic_programming][logic programming]]
in your common lisp software.

** Usage

*** install

Cl-kanren is included in quicklisp so

#+BEGIN_SRC lisp
(ql:quickload "cl-kanren")
#+END_SRC

Actual use  of logic  programming needs some more words than  a reasonably
short README file can accomodate.

My suggestion is to start pointing your browser to

[[http://minikanren.org/][microKanren.org]], there are a lot of resouces there.

*** Difference from the [[https://common-lisp.net/project/cl-kanren-trs/][cl-kanren-trs]]

- there is no conde, it has been replaced by condi;
- == is actually ==-check;


** Credits

cl-kanren         is         an        implementation         of
[[http://en.wikipedia.org/wiki/MiniKanren][miniKanren]],   the  language
discussed in "The Reasoned Schemer"[fn:trsch]

* License

Copyright © 2016, cage
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.


Some portions of the code uses works (c) 2008, Matthew Swank, with the
original license stated below

Copyright (c) 2008, Matthew Swank
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

* Acknowledgment

Many thanks  to [[https://github.com/jasonhemann][Jason  Hemann]], his
works for Lambda Jam 2014 inspired a few forms in this implementation.


[fn:trsch] "The Reasoned Schemer", Friedman, Byrd and Kiselyov. 2005, MIT Press


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 cl-kanren

Author

cage

License

BSD

Description

A minikanren implementation

Version

0.1.0

Dependency

alexandria

Source

cl-kanren.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cl-kanren.asd

Location

cl-kanren.asd

Systems

cl-kanren (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cl-kanren/packages.lisp

Parent

cl-kanren (system)

Location

packages.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cl-kanren/mu-kanren.lisp

Dependency

packages.lisp (file)

Parent

cl-kanren (system)

Location

mu-kanren.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cl-kanren/interface.lisp

Dependency

mu-kanren.lisp (file)

Parent

cl-kanren (system)

Location

interface.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 cl-kanren/mu-kanren-goodies.lisp

Dependency

interface.lisp (file)

Parent

cl-kanren (system)

Location

mu-kanren-goodies.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.6 cl-kanren/mini-kanren.lisp

Dependency

mu-kanren-goodies.lisp (file)

Parent

cl-kanren (system)

Location

mini-kanren.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 cl-kanren

Source

packages.lisp (file)

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 mini-kanren

Source

packages.lisp (file)

Use List
Used By List

cl-kanren

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 mu-kanren-goodies

Source

packages.lisp (file)

Use List
Used By List

mini-kanren

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.4 interface

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Previous: , Up: Packages   [Contents][Index]

4.5 mu-kanren

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Constants

Constant: +empty-state+

The empty state

Package

mu-kanren

Source

mu-kanren.lisp (file)

Constant: +fail+
Package

mu-kanren

Source

mu-kanren-goodies.lisp (file)

Constant: +mzero+

The empty stream

Package

mu-kanren

Source

mu-kanren.lisp (file)

Constant: +succeed+
Package

mu-kanren

Source

mu-kanren-goodies.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Special variables

Special Variable: +failed-unification+
Package

mu-kanren

Source

mu-kanren.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Macros

Macro: all &rest GOALS
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: alli &rest GOALS
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: choice-case KEY-TERM &body CASES
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: conda (&rest GS) (&rest HS) &body BODY
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: conde &rest CLAUSES
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: condi &rest CLAUSES
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: condu (&rest GS) (&rest HS) &body BODY
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: conj-plus G &rest REST
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: disj-plus G &rest REST
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: fresh (&rest VARS) &body BODY
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: lambda-$ (&rest PARAMETERS) &body BODY
Package

mu-kanren

Source

mu-kanren.lisp (file)

Macro: lambda-g (&rest PARAMETERS) &body BODY
Package

mu-kanren

Source

mu-kanren.lisp (file)

Macro: project (&rest VARS) &body GOALS
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: run N (&rest VARS) &body BODY
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: run* (&rest VARS) &body BODY
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: zzz FN
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Functions

Function: == U V
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: ==-check V W
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: appendo LIST REST OUT
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: bind $ G
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: brancho X TREE
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: call/fresh F
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: caro CONS CAR
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: cdro CONS CDR
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: conj G1 G2
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: conso CAR CDR CONS
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: disj G1 G2
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: eq-caro LIST X
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: extend-subst RHS LHS SUBST
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: failed-unification-p S
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: flatteno LIST? OUT
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: ifte G0 G1 G2
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: listo LIST
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: make-binary-relation MAPPING
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: make-nary-relation N MAPPING
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: make-ternary-relation MAPPING
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: map-choice FUN &rest BINDINGS
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: membero X LIST
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: mplus $1 $2
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: mu-var &optional A
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: mu-var-p A
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: mu-var= A B
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: nullo OBJECT
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: once G
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: pairo PAIR?
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: permute-binary-relation RELATION
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: permute-ternary-relation RELATION
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: reify-subst ID? SUBST
Package

interface

Source

interface.lisp (file)

Function: secondo CONS-CELL OUT
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: thirdo CONS-CELL OUT
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: unify U V SUBST
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: unit S/C
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: var-exists-in-subst-p V SUBST
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: walk U SUBST
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: walk* ID? SUBST
Package

interface

Source

interface.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Generic functions

Generic Function: equivp LHS RHS
Package

mu-kanren

Source

mu-kanren.lisp (file)

Methods
Method: equivp (LHS list) (RHS list)
Source

interface.lisp (file)

Method: equivp (LHS vector) (RHS vector)
Source

interface.lisp (file)

Method: equivp (LHS string) (RHS string)
Source

interface.lisp (file)

Method: equivp (LHS mu-var) (RHS mu-var)
Source

interface.lisp (file)

Method: equivp LHS RHS
Source

interface.lisp (file)

Generic Function: id OBJECT
Generic Function: (setf id) NEW-VALUE OBJECT
Package

mu-kanren

Methods
Method: id (MU-VAR mu-var)

automatically generated reader method

Source

mu-kanren.lisp (file)

Method: (setf id) NEW-VALUE (MU-VAR mu-var)

automatically generated writer method

Source

mu-kanren.lisp (file)

Generic Function: reify-name N
Package

interface

Source

interface.lisp (file)

Methods
Method: reify-name (N number)
Generic Function: reify-subst-impl VAL SUBST
Package

interface

Source

interface.lisp (file)

Methods
Method: reify-subst-impl VAL SUBST
Method: reify-subst-impl (VAL string) SUBST
Method: reify-subst-impl (VAL mu-var) SUBST
Method: reify-subst-impl (VAL cons) SUBST
Method: reify-subst-impl (VAL vector) SUBST
Generic Function: unify-impl V W SUBST
Package

mu-kanren

Source

mu-kanren.lisp (file)

Methods
Method: unify-impl (U vector) (V vector) SUBST
Source

interface.lisp (file)

Method: unify-impl (U cons) (V cons) SUBST
Source

interface.lisp (file)

Method: unify-impl U (V mu-var) SUBST
Source

interface.lisp (file)

Method: unify-impl (U mu-var) V SUBST
Source

interface.lisp (file)

Method: unify-impl (U mu-var) (V mu-var) SUBST
Source

interface.lisp (file)

Method: unify-impl U V SUBST
Source

interface.lisp (file)

Generic Function: walk-impl VAL SUBST
Package

interface

Source

interface.lisp (file)

Methods
Method: walk-impl VAL SUBST
Method: walk-impl (VAL string) SUBST
Method: walk-impl (VAL cons) SUBST
Method: walk-impl (VAL vector) SUBST

Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: mu-var ()
Package

mu-kanren

Source

mu-kanren.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: id
Type

number

Initargs

:id

Initform

0

Readers

id (generic function)

Writers

(setf id) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *print-mu-var-reference-p*
Package

mu-kanren

Source

mu-kanren.lisp (file)

Special Variable: *print-mu-var-type-p*
Package

mu-kanren

Source

mu-kanren.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: %if-aux NAME (&rest IF-NULL) (&rest IF-FN) (&rest IF-T) &body BODY
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: all-aux BND &rest GOALS
Package

mini-kanren

Source

mini-kanren.lisp (file)

Macro: bind-plus BINDING G &rest REST
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Macro: ifte* GS &optional HS &body BODY
Package

mini-kanren

Source

mini-kanren.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: %extend-subst X V S
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: bindi $ G
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: call/empty-state G
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: dummy-test A B
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: mk-reify S/C*
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: mplusi $1 $2
Package

mini-kanren

Source

mini-kanren.lisp (file)

Function: mu-var-id A
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: occurs-check X V SUBST
Package

mu-kanren

Source

mu-kanren.lisp (file)

Function: pull $
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: reify-state/1st-var S/C
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: take N $
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: take-all $
Package

mu-kanren-goodies

Source

mu-kanren-goodies.lisp (file)

Function: var-exists-in-subst-fn ()
Package

mu-kanren

Source

mu-kanren.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-kanren.asd: The cl-kanren<dot>asd file
cl-kanren/interface.lisp: The cl-kanren/interface<dot>lisp file
cl-kanren/mini-kanren.lisp: The cl-kanren/mini-kanren<dot>lisp file
cl-kanren/mu-kanren-goodies.lisp: The cl-kanren/mu-kanren-goodies<dot>lisp file
cl-kanren/mu-kanren.lisp: The cl-kanren/mu-kanren<dot>lisp file
cl-kanren/packages.lisp: The cl-kanren/packages<dot>lisp file

F
File, Lisp, cl-kanren.asd: The cl-kanren<dot>asd file
File, Lisp, cl-kanren/interface.lisp: The cl-kanren/interface<dot>lisp file
File, Lisp, cl-kanren/mini-kanren.lisp: The cl-kanren/mini-kanren<dot>lisp file
File, Lisp, cl-kanren/mu-kanren-goodies.lisp: The cl-kanren/mu-kanren-goodies<dot>lisp file
File, Lisp, cl-kanren/mu-kanren.lisp: The cl-kanren/mu-kanren<dot>lisp file
File, Lisp, cl-kanren/packages.lisp: The cl-kanren/packages<dot>lisp file

L
Lisp File, cl-kanren.asd: The cl-kanren<dot>asd file
Lisp File, cl-kanren/interface.lisp: The cl-kanren/interface<dot>lisp file
Lisp File, cl-kanren/mini-kanren.lisp: The cl-kanren/mini-kanren<dot>lisp file
Lisp File, cl-kanren/mu-kanren-goodies.lisp: The cl-kanren/mu-kanren-goodies<dot>lisp file
Lisp File, cl-kanren/mu-kanren.lisp: The cl-kanren/mu-kanren<dot>lisp file
Lisp File, cl-kanren/packages.lisp: The cl-kanren/packages<dot>lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (   =  
A   B   C   D   E   F   G   I   L   M   N   O   P   R   S   T   U   V   W   Z  
Index Entry  Section

%
%extend-subst: Internal functions
%if-aux: Internal macros

(
(setf id): Exported generic functions
(setf id): Exported generic functions

=
==: Exported functions
==-check: Exported functions

A
all: Exported macros
all-aux: Internal macros
alli: Exported macros
appendo: Exported functions

B
bind: Exported functions
bind-plus: Internal macros
bindi: Internal functions
brancho: Exported functions

C
call/empty-state: Internal functions
call/fresh: Exported functions
caro: Exported functions
cdro: Exported functions
choice-case: Exported macros
conda: Exported macros
conde: Exported macros
condi: Exported macros
condu: Exported macros
conj: Exported functions
conj-plus: Exported macros
conso: Exported functions

D
disj: Exported functions
disj-plus: Exported macros
dummy-test: Internal functions

E
eq-caro: Exported functions
equivp: Exported generic functions
equivp: Exported generic functions
equivp: Exported generic functions
equivp: Exported generic functions
equivp: Exported generic functions
equivp: Exported generic functions
extend-subst: Exported functions

F
failed-unification-p: Exported functions
flatteno: Exported functions
fresh: Exported macros
Function, %extend-subst: Internal functions
Function, ==: Exported functions
Function, ==-check: Exported functions
Function, appendo: Exported functions
Function, bind: Exported functions
Function, bindi: Internal functions
Function, brancho: Exported functions
Function, call/empty-state: Internal functions
Function, call/fresh: Exported functions
Function, caro: Exported functions
Function, cdro: Exported functions
Function, conj: Exported functions
Function, conso: Exported functions
Function, disj: Exported functions
Function, dummy-test: Internal functions
Function, eq-caro: Exported functions
Function, extend-subst: Exported functions
Function, failed-unification-p: Exported functions
Function, flatteno: Exported functions
Function, ifte: Exported functions
Function, listo: Exported functions
Function, make-binary-relation: Exported functions
Function, make-nary-relation: Exported functions
Function, make-ternary-relation: Exported functions
Function, map-choice: Exported functions
Function, membero: Exported functions
Function, mk-reify: Internal functions
Function, mplus: Exported functions
Function, mplusi: Internal functions
Function, mu-var: Exported functions
Function, mu-var-id: Internal functions
Function, mu-var-p: Exported functions
Function, mu-var=: Exported functions
Function, nullo: Exported functions
Function, occurs-check: Internal functions
Function, once: Exported functions
Function, pairo: Exported functions
Function, permute-binary-relation: Exported functions
Function, permute-ternary-relation: Exported functions
Function, pull: Internal functions
Function, reify-state/1st-var: Internal functions
Function, reify-subst: Exported functions
Function, secondo: Exported functions
Function, take: Internal functions
Function, take-all: Internal functions
Function, thirdo: Exported functions
Function, unify: Exported functions
Function, unit: Exported functions
Function, var-exists-in-subst-fn: Internal functions
Function, var-exists-in-subst-p: Exported functions
Function, walk: Exported functions
Function, walk*: Exported functions

G
Generic Function, (setf id): Exported generic functions
Generic Function, equivp: Exported generic functions
Generic Function, id: Exported generic functions
Generic Function, reify-name: Exported generic functions
Generic Function, reify-subst-impl: Exported generic functions
Generic Function, unify-impl: Exported generic functions
Generic Function, walk-impl: Exported generic functions

I
id: Exported generic functions
id: Exported generic functions
ifte: Exported functions
ifte*: Internal macros

L
lambda-$: Exported macros
lambda-g: Exported macros
listo: Exported functions

M
Macro, %if-aux: Internal macros
Macro, all: Exported macros
Macro, all-aux: Internal macros
Macro, alli: Exported macros
Macro, bind-plus: Internal macros
Macro, choice-case: Exported macros
Macro, conda: Exported macros
Macro, conde: Exported macros
Macro, condi: Exported macros
Macro, condu: Exported macros
Macro, conj-plus: Exported macros
Macro, disj-plus: Exported macros
Macro, fresh: Exported macros
Macro, ifte*: Internal macros
Macro, lambda-$: Exported macros
Macro, lambda-g: Exported macros
Macro, project: Exported macros
Macro, run: Exported macros
Macro, run*: Exported macros
Macro, zzz: Exported macros
make-binary-relation: Exported functions
make-nary-relation: Exported functions
make-ternary-relation: Exported functions
map-choice: Exported functions
membero: Exported functions
Method, (setf id): Exported generic functions
Method, equivp: Exported generic functions
Method, equivp: Exported generic functions
Method, equivp: Exported generic functions
Method, equivp: Exported generic functions
Method, equivp: Exported generic functions
Method, id: Exported generic functions
Method, reify-name: Exported generic functions
Method, reify-subst-impl: Exported generic functions
Method, reify-subst-impl: Exported generic functions
Method, reify-subst-impl: Exported generic functions
Method, reify-subst-impl: Exported generic functions
Method, reify-subst-impl: Exported generic functions
Method, unify-impl: Exported generic functions
Method, unify-impl: Exported generic functions
Method, unify-impl: Exported generic functions
Method, unify-impl: Exported generic functions
Method, unify-impl: Exported generic functions
Method, unify-impl: Exported generic functions
Method, walk-impl: Exported generic functions
Method, walk-impl: Exported generic functions
Method, walk-impl: Exported generic functions
Method, walk-impl: Exported generic functions
mk-reify: Internal functions
mplus: Exported functions
mplusi: Internal functions
mu-var: Exported functions
mu-var-id: Internal functions
mu-var-p: Exported functions
mu-var=: Exported functions

N
nullo: Exported functions

O
occurs-check: Internal functions
once: Exported functions

P
pairo: Exported functions
permute-binary-relation: Exported functions
permute-ternary-relation: Exported functions
project: Exported macros
pull: Internal functions

R
reify-name: Exported generic functions
reify-name: Exported generic functions
reify-state/1st-var: Internal functions
reify-subst: Exported functions
reify-subst-impl: Exported generic functions
reify-subst-impl: Exported generic functions
reify-subst-impl: Exported generic functions
reify-subst-impl: Exported generic functions
reify-subst-impl: Exported generic functions
reify-subst-impl: Exported generic functions
run: Exported macros
run*: Exported macros

S
secondo: Exported functions

T
take: Internal functions
take-all: Internal functions
thirdo: Exported functions

U
unify: Exported functions
unify-impl: Exported generic functions
unify-impl: Exported generic functions
unify-impl: Exported generic functions
unify-impl: Exported generic functions
unify-impl: Exported generic functions
unify-impl: Exported generic functions
unify-impl: Exported generic functions
unit: Exported functions

V
var-exists-in-subst-fn: Internal functions
var-exists-in-subst-p: Exported functions

W
walk: Exported functions
walk*: Exported functions
walk-impl: Exported generic functions
walk-impl: Exported generic functions
walk-impl: Exported generic functions
walk-impl: Exported generic functions
walk-impl: Exported generic functions

Z
zzz: Exported macros

Jump to:   %   (   =  
A   B   C   D   E   F   G   I   L   M   N   O   P   R   S   T   U   V   W   Z  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   I   S  
Index Entry  Section

*
*print-mu-var-reference-p*: Internal special variables
*print-mu-var-type-p*: Internal special variables

+
+empty-state+: Exported constants
+fail+: Exported constants
+failed-unification+: Exported special variables
+mzero+: Exported constants
+succeed+: Exported constants

C
Constant, +empty-state+: Exported constants
Constant, +fail+: Exported constants
Constant, +mzero+: Exported constants
Constant, +succeed+: Exported constants

I
id: Exported classes

S
Slot, id: Exported classes
Special Variable, *print-mu-var-reference-p*: Internal special variables
Special Variable, *print-mu-var-type-p*: Internal special variables
Special Variable, +failed-unification+: Exported special variables

Jump to:   *   +  
C   I   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   I   M   P   S  
Index Entry  Section

C
cl-kanren: The cl-kanren system
cl-kanren: The cl-kanren package
Class, mu-var: Exported classes

I
interface: The interface package

M
mini-kanren: The mini-kanren package
mu-kanren: The mu-kanren package
mu-kanren-goodies: The mu-kanren-goodies package
mu-var: Exported classes

P
Package, cl-kanren: The cl-kanren package
Package, interface: The interface package
Package, mini-kanren: The mini-kanren package
Package, mu-kanren: The mu-kanren package
Package, mu-kanren-goodies: The mu-kanren-goodies package

S
System, cl-kanren: The cl-kanren system

Jump to:   C   I   M   P   S