The cl-unification Reference Manual

Table of Contents

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

The cl-unification Reference Manual

This is the cl-unification Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 08:20:55 2018 GMT+0.


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

1 Introduction

CL-UNIFICATION
==============

Marco Antoniotti (c) 2004-2018
------------------------------

The directory containing this file you are reading should contain the
code and the documentation of the CL-UNIFICATION package.

The package is a full-blown library to "unify" arbitrary CL objects
while constructing bindings for placeholders (unification variables)
in a "template" sublanguage.


A NOTE ON FORKING
-----------------

Of course you are free to fork the project subject to the current
licensing scheme.  However, before you do so, I ask you to consider
plain old "cooperation" by asking me to become a developer.
It helps keeping the entropy level at an acceptable level.

Enjoy.


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-unification

Author

Marco Antoniotti

License

BSD

Description

The CL-UNIFICATION system.

The system contains the definitions for the ’unification’ machinery.

Source

cl-unification.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-unification.asd

Location

cl-unification.asd

Systems

cl-unification (system)

Packages

cl-unification-system

Internal Definitions

asdf-system-definition-file (class)


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

3.1.2 cl-unification/cl-unification-pkg.lisp

Parent

cl-unification (system)

Location

cl-unification-pkg.lisp

Packages

it.unimib.disco.ma.cl.ext.dacf.unification


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

3.1.3 cl-unification/variables.lisp

Dependency

cl-unification-pkg.lisp (file)

Parent

cl-unification (system)

Location

variables.lisp

Exported Definitions
Internal Definitions

make-var-name (function)


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

3.1.4 cl-unification/substitutions.lisp

Dependency

variables.lisp (file)

Parent

cl-unification (system)

Location

substitutions.lisp

Exported Definitions
Internal Definitions

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

3.1.5 cl-unification/lambda-list-parsing.lisp

Dependency

substitutions.lisp (file)

Parent

cl-unification (system)

Location

lambda-list-parsing.lisp

Internal Definitions

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

3.1.6 cl-unification/templates-hierarchy.lisp

Dependency

lambda-list-parsing.lisp (file)

Parent

cl-unification (system)

Location

templates-hierarchy.lisp

Exported Definitions
Internal Definitions

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

3.1.7 cl-unification/unifier.lisp

Dependency

templates-hierarchy.lisp (file)

Parent

cl-unification (system)

Location

unifier.lisp

Exported Definitions
Internal Definitions

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

3.1.8 cl-unification/match-block.lisp

Dependency

unifier.lisp (file)

Parent

cl-unification (system)

Location

match-block.lisp

Exported Definitions
Internal Definitions

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

3.1.9 cl-unification/apply-substitution.lisp

Dependency

match-block.lisp (file)

Parent

cl-unification (system)

Location

apply-substitution.lisp

Exported Definitions
Internal Definitions

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

3.1.10 cl-unification/cl-unification-lib.lisp

Dependency

apply-substitution.lisp (file)

Parent

cl-unification (system)

Location

cl-unification-lib.asd


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

4 Packages

Packages are listed by definition order.


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

4.1 cl-unification-system

Source

cl-unification.asd

Use List
Internal Definitions

asdf-system-definition-file (class)


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

4.2 it.unimib.disco.ma.cl.ext.dacf.unification

The CL.EXT.DACF.UNIFICATION Package.

This package contains all the definitions necessary for the general Common Lisp unifier to work.
The package also has the "UNIFY" nickname.

Source

cl-unification-pkg.lisp (file)

Nicknames
Use List

common-lisp

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 Special variables

Special Variable: *unify-string-case-sensitive-p*
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)


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

5.1.2 Macros

Macro: match (TEMPLATE OBJECT &key MATCH-NAMED SUBSTITUTION ERRORP ERROR-VALUE) &body FORMS

Sets up a lexical environment to evaluate FORMS after an unification.
MATCH unifies a TEMPLATE and an OBJECT and then sets up a lexical environment where the variables present in the template are bound lexically. Note that both variable names ’?FOO’ and ’FOO’ are bound for convenience.

The MATCH form returns the values returned by the evaluation of the last of the FORMS.

If ERRORP is non-NIL (the default) then the form raises a UNIFICATION-FAILURE, otherwise the result of evaluating ERROR-VALUE, whose default is NIL is returned. (Note that UNIFICATION-FAILUREs raising from the evaluation of FORMS will also be caught and handled according to ERRORP settings.)

If MATCH-NAMED is not NIL, then a surrounding BLOCK named MATCH-NAMED is set up around the matching code.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)

Macro: match-case (OBJECT &key ERRORP DEFAULT-SUBSTITUTION MATCH-CASE-NAMED) &body CLAUSES

MATCH-CASE sets up a CASE-like environment for multiple template matching clauses.
The syntax of MATCH-CASE comprises a number of clauses of the form
<pre>
clause ::= regular-clause | default-clause
regular-clause ::= ’(’ template ’&body’ forms ’)’
default-clause ::= ’(’ t ’&body’ forms ’)’
| ’(’ ’otherwise’ ’&body’ forms ’)’
</pre>
’form’ and ’forms’ are regular Common Lisp forms.
’template’ is a unification template.

The full syntax of MATCH-CASE is
<pre>
match-case (object &key errorp default-substitution) clauses
</pre>
Each clause evaluates its forms in an environment where the variables
present in the template are bound lexically. Note that both variable
names ’?FOO’ and ’FOO’ are bound for convenience.

The values returned by the MATCH-CASE form are those of the last form in
the first clause that satisfies the match test.

If ERRORP is non-NIL then if none of the regular clauses matches, then
an error of type UNIFICATION-NON-EXAUSTIVE is signalled, regardless of
any default clause. Otherwise, the default clause behaves as a
standard CASE default clause. The default value of ERRORP is NIL.

MATCHING-NAMED is used as BLOCK name around the MATCHING machinery.

DEFAULT-SUBSTITUTION is the substitution to be used for the matching;
it defaults to the empty substitution.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)

Macro: matchf (TEMPLATE OBJECT &key MATCH-NAMED SUBSTITUTION ERRORP ERROR-VALUE) &body FORMS

Sets up a lexical environment to evaluate FORMS after an unification.
MATCHF unifies a TEMPLATE and an OBJECT and then sets up a lexical environment where the variables present in the template are bound lexically. Note that both variable names ’?FOO’ and ’FOO’ are bound for convenience.

MATCHF does not ’evaluate’ TEMPLATE (note that using the #T syntax will generate a template at read-time).

The MATCHF form returns the values returned by the evaluation of the last of the FORMS.

If ERRORP is non-NIL (the default) then the form raises a UNIFICATION-FAILURE, otherwise the result of evaluating ERROR-VALUE, whose default is NIL is returned. (Note that UNIFICATION-FAILUREs raising from the evaluation of FORMS will also be caught and handled according to ERRORP settings.)

If MATCH-NAMED is not NIL, then a surrounding BLOCK named MATCH-NAMED is set up around the matching code.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)

Macro: matchf-case (OBJECT &key ERRORP DEFAULT-SUBSTITUTION MATCH-CASE-NAMED) &body CLAUSES

MATCHF-CASE sets up a CASE-like environment for multiple template matching clauses.
The syntax of MATCHF-CASE comprises a number of clauses of the form
<pre>
clause ::= regular-clause | default-clause
regular-clause ::= ’(’ template ’&body’ forms ’)’
default-clause ::= ’(’ t ’&body’ forms ’)’
| ’(’ ’otherwise’ ’&body’ forms ’)’
</pre>
’form’ and ’forms’ are regular Common Lisp forms.
’template’ is a unification template.

The full syntax of MATCHF-CASE is

matchf-case (object &key errorp default-substitution) clauses

Each clause evaluates its forms in an environment where the variables
present in the template are bound lexically. Note that both variable
names ’?FOO’ and ’FOO’ are bound for convenience.

The values returned by the MATCH-CASE form are those of the last form in
the first clause that satisfies the match test.

If ERRORP is non-NIL then if none of the regular clauses matches, then
an error of type UNIFICATION-NON-EXAUSTIVE is signalled, regardless of
any default clause. Otherwise, the default clause behaves as a
standard CASE default clause. The default value of ERRORP is NIL.

MATCHING-NAMED is used as BLOCK name around the MATCHING machinery.

DEFAULT-SUBSTITUTION is the substitution to be used for the matching;
it defaults to the empty substitution.

Notes:

MATCHF-CASE behaves like MATCH-CASE, but the patterns are not
evaluated; i.e., it relies on MATCHF instead of MATCH to construct the
macro expansion.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)

Macro: matching (&key ERRORP DEFAULT-SUBSTITUTION MATCHING-NAMED) &rest MATCH-CLAUSES

MATCHING sets up a COND-like environment for multiple template matching clauses.
The syntax of MATCHING comprises a number of clauses, collected in MATCH-CLAUSES, of the form
<pre>
clause ::= regular-clause | default-clause
regular-clause ::= ’(’ ’(’ template form ’)’ ’&body’ forms ’)’ default-clause ::= ’(’ ’t’ ’&body’ forms ’)’
| ’(’ ’otherwise’ ’&body’ forms ’)’
</pre>
’form’ and ’forms’ are regular Common Lisp forms.
’template’ is a unification template.

The full syntax of MATCHING is
<pre>
matching (&key errorp default-substitution) clauses
</pre>
Each clause evaluates its forms in an environment where the variables present in the template are bound lexically. Note that both variable
names ’?FOO’ and ’FOO’ are bound for convenience.

The values returned by the MATCHING form are those of the last form in
the first clause that satisfies the match test.

If ERRORP is non-NIL then if none of the regular clauses matches, then
an error of type UNIFICATION-NON-EXAUSTIVE is signalled, regardless of
any default clause. Otherwise, the default clause behaves as a
standard COND default clause. The default value of ERRORP is NIL.

MATCHING-NAMED is used as BLOCK name around the MATCHING machinery.

DEFAULT-SUBSTITUTION is the substitution to be used for the matching;
it defaults to the empty substitution.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)


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

5.1.3 Functions

Function: binding-value B
Function: (setf binding-value) V B
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: binding-variable B
Function: (setf binding-variable) V B
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: copy-environment ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: empty-environment-p ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: environment-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: extend-environment VAR PAT &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: fill-environment VARS PATS &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: fill-environment* VARS-PATS &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: find-variable-value VARIABLE &optional ENV ERRORP

Finds the value associated to VARIABLE in ENV.

VARIABLE is a unification variable; if ERRORP is non-null an error is signaled if VARIABLE is not found in the environment ENV.

The function returns two values: the value associated to VARIABLE or
NIL, and an indication about whether an association was actually found
in ENV.

Arguments and Values:

VARIABLE : a unification variable
ENV : and ENVIRONMENT
ERRORP : a generalized Boolean
result : a T
foundp : a BOOLEAN

Exceptional Situations:

If an error is signaled, then it is an instance of UNIFICATION-VARIABLE-UNBOUND.

Notes:

FIND-VARIABLE-VALUE is almost symmetric to IS-VARIABLE-BOUND.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: make-empty-environment ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: make-shared-environment ENV &optional PUSHP
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: new-var &optional S PACKAGE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

variables.lisp (file)

Function: pop-frame ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: push-frame ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: unify* A B &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: unify-equations EQNS &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: unify-equations* LHSS RHSS &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: v? S ENV &optional PLAIN-SYMBOL-P

Finds the value associated to the variable S in ENV.

This function is essentialy a convenience wrapper around FIND-VARIABLE-VALUE. If PLAIN-SYMBOL-P is non-NIL, then the symbol S is ensured to be a ’unification variable’ (with a #? first character).

Exceptional Situations:

A UNIFICATION-VARIABLE-UNBOUND may be signaled is ERRORP is non-nil and no association si found for S in ENV.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: variable-any-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

variables.lisp (file)

Function: variablep X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

variables.lisp (file)


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

5.1.4 Generic functions

Generic Function: apply-substitution SUBSTITUTION ITEM &optional EXCLUDE-VARS

Applies a SUBSTITUTION to an ITEM.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

apply-substitution.lisp (file)

Methods
Method: apply-substitution (SUBSTITUTION environment) (L null) &optional EXCLUDE-VARS
Method: apply-substitution (SUBSTITUTION environment) (L cons) &optional EXCLUDE-VARS
Method: apply-substitution (SUBSTITUTION environment) (S symbol) &optional EXCLUDE-VARS
Method: apply-substitution (S environment) (N number) &optional EXCLUDE-VARS
Generic Function: aref-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: aref-template-p (X aref-template)
Method: aref-template-p X
Generic Function: array-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: array-template-p (X array-template)
Method: array-template-p X
Generic Function: collect-template-vars TEMPLATE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: collect-template-vars TEMPLATE
Method: collect-template-vars (TEMPLATE array)
Method: collect-template-vars (TEMPLATE vector)
Method: collect-template-vars (TEMPLATE string)
Method: collect-template-vars (TEMPLATE cons)
Method: collect-template-vars (TEMPLATE null)
Method: collect-template-vars (TEMPLATE symbol)
Method: collect-template-vars (TEMPLATE number-template)
Method: collect-template-vars (TEMPLATE symbol-template)
Method: collect-template-vars (TEMPLATE template)
Generic Function: element-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: element-template-p (X element-template)
Method: element-template-p X
Generic Function: elt-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: elt-template-p (X elt-template)
Method: elt-template-p X
Generic Function: expression-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: expression-template-p (X expression-template)
Method: expression-template-p X
Generic Function: make-template KIND SPEC

The ’template’ factory.

Creates a TEMPLATE instance based on the values of KIND and SPEC.

Arguments and Values:

KIND : a T
SPEC : a T
result : a TEMPLATE

Exceptional Situations:

May signal an error if a particular combination of KIND and SPEC is either not consistent or handled.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: make-template (KIND (eql nthcdr)) (SPEC cons)
Method: make-template (KIND (eql nth)) (SPEC cons)
Method: make-template (KIND (eql aref)) (SPEC cons)
Method: make-template (KIND (eql elt)) (SPEC cons)
Method: make-template (KIND (eql subseq)) (SPEC cons)
Method: make-template (KIND (eql array)) (SPEC cons)
Method: make-template (KIND (eql string)) (SPEC cons)
Method: make-template (KIND (eql vector)) (SPEC cons)
Method: make-template (KIND (eql lambda)) (SPEC cons)
Method: make-template (KIND (eql plist)) (SPEC cons)
Method: make-template (KIND (eql list)) (SPEC cons)
Method: make-template (KIND (eql sequence)) (SPEC cons)
Method: make-template (KIND number) (SPEC number)
Method: make-template (KIND cons) (SPEC cons)
Method: make-template (KIND symbol) (SPEC cons)
Method: make-template (KIND (eql symbol)) (SPEC cons)
Method: make-template (KIND symbol) (SPEC symbol)
Method: make-template (KIND null) (SPEC symbol)
Generic Function: nil-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: nil-template-p (X nil-template)
Method: nil-template-p X
Generic Function: nth-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: nth-template-p (X nth-template)
Method: nth-template-p X
Generic Function: nthcdr-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: nthcdr-template-p (X nthcdr-template)
Method: nthcdr-template-p X
Generic Function: number-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: number-template-p (X number-template)
Method: number-template-p X
Generic Function: standard-object-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: standard-object-template-p (X standard-object-template)
Method: standard-object-template-p X
Generic Function: structure-object-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: structure-object-template-p (X structure-object-template)
Method: structure-object-template-p X
Generic Function: symbol-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: symbol-template-p (X symbol-template)
Method: symbol-template-p X
Generic Function: template-p X

Returns T if the argument X is a TEMPLATE.

Arguments and Values:

X : any object
result : a BOOLEAN

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: template-p (X template)
Method: template-p X
Generic Function: template-spec OBJECT
Generic Function: (setf template-spec) NEW-VALUE OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Methods
Method: template-spec (TEMPLATE template)

automatically generated reader method

Source

templates-hierarchy.lisp (file)

Method: (setf template-spec) NEW-VALUE (TEMPLATE template)

automatically generated writer method

Source

templates-hierarchy.lisp (file)

Generic Function: type-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: type-template-p (X type-template)
Method: type-template-p X
Generic Function: unify A B &optional ENV &key CASE-SENSITIVE &allow-other-keys

Unifies two objects A and B given a substitution ENV.
A is a Common Lisp object and B is either a Common Lisp object or a "template", A and B can be commuted.

The unification rules are rather complex. Each method of the generic function implements a specific rule of unification.

The generic function returns a ‘substitution’ upon success or it signals a UNIFICATION-FAILURE condition upon failure.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Methods
Method: unify (B nth-template) (A list) &optional ENV &key &allow-other-keys
Method: unify (A list) (B nth-template) &optional ENV &key &allow-other-keys
Method: unify (B elt-template) (A sequence) &optional ENV &key &allow-other-keys
Method: unify (A list) (B elt-template) &optional ENV &key &allow-other-keys
Method: unify (A vector) (B elt-template) &optional ENV &key &allow-other-keys
Method: unify (A sequence) (B elt-template) &optional ENV &key &allow-other-keys
Method: unify (B aref-template) (A array) &optional ENV &key &allow-other-keys
Method: unify (A vector) (B aref-template) &optional ENV &key &allow-other-keys
Method: unify (A array) (B aref-template) &optional ENV &key &allow-other-keys
Method: unify (B subseq-template) (A sequence) &optional ENV &key &allow-other-keys
Method: unify (A vector) (B subseq-template) &optional ENV &key &allow-other-keys
Method: unify (A list) (B subseq-template) &optional ENV &key &allow-other-keys
Method: unify (A sequence) (B subseq-template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A structure-object) &optional ENV &key &allow-other-keys
Method: unify (A structure-object) (B structure-object-template) &optional ENV &key &allow-other-keys
Method: unify (A structure-object) (B template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A standard-object) &optional ENV &key &allow-other-keys
Method: unify (A standard-object) (B standard-object-template) &optional ENV &key &allow-other-keys
Method: unify (A standard-object) (B template) &optional ENV &key &allow-other-keys
Method: unify (A array) (B array-template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A array) &optional ENV &key &allow-other-keys
Method: unify (A array) (B template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A vector) &optional ENV &key &allow-other-keys
Method: unify (A vector) (B sequence-template) &optional ENV &key &allow-other-keys
Method: unify (A vector) (B template) &optional ENV &key &allow-other-keys
Method: unify (A list) (B plist-template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A list) &optional ENV &key &allow-other-keys
Method: unify (A list) (B sequence-template) &optional ENV &key &allow-other-keys
Method: unify (A list) (B template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A sequence) &optional ENV &key &allow-other-keys
Method: unify (A sequence) (B template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A number) &optional ENV &key &allow-other-keys
Method: unify (A number) (B template) &optional ENV &key &allow-other-keys
Method: unify (A number) (B number-template) &optional ENV &key &allow-other-keys before
Method: unify (B number-template) (A number) &optional ENV &key &allow-other-keys
Method: unify (A number) (B number-template) &optional ENV &key &allow-other-keys
Method: unify (B template) (A symbol) &optional ENV &key &allow-other-keys
Method: unify (A symbol) (B template) &optional ENV &key &allow-other-keys
Method: unify (B symbol-template) (A symbol) &optional ENV &key &allow-other-keys
Method: unify (A symbol) (B symbol-template) &optional ENV &key &allow-other-keys
Method: unify (NT1 nil-template) (NT2 nil-template) &optional ENV &key &allow-other-keys
Method: unify (NT nil-template) (X null) &optional ENV &key &allow-other-keys
Method: unify (X null) (NT nil-template) &optional ENV &key &allow-other-keys
Method: unify (X null) (Y null) &optional ENV &key &allow-other-keys
Method: unify (X template) (Y template) &optional ENV &key &allow-other-keys
Method: unify A B &optional ENV &key &allow-other-keys
Method: unify (AS array) (BS array) &optional ENV &key &allow-other-keys
Method: unify (S1 sequence) (S2 sequence) &optional ENV &key &allow-other-keys
Method: unify (AS vector) (BS vector) &optional ENV &key &allow-other-keys
Method: unify (B array) (A symbol) &optional ENV &key &allow-other-keys
Method: unify (A symbol) (B array) &optional ENV &key &allow-other-keys
Method: unify B (A symbol) &optional ENV &key &allow-other-keys
Method: unify (A symbol) B &optional ENV &key &allow-other-keys
Method: unify (A symbol) (B symbol) &optional ENV &key &allow-other-keys
Method: unify (B string) (A symbol) &optional ENV &key &allow-other-keys
Method: unify (A symbol) (B string) &optional ENV &key &allow-other-keys
Method: unify (A string) (B string) &optional ENV &key CASE-SENSITIVE &allow-other-keys

Unifies two strings A and B.
Two strings A and B unify if and only if they satisfy either #’STRING= or #’STRING-EQUAL. The choice of which of test to perform (#’STRING= or #’STRING-EQUAL) is made according to the value of the variable
*UNIFY-STRING-CASE-SENSITIVE-P*, which defaults to T.
If A and B unify then an unmodified environment ENV is returned,
otherwise an error of type UNIFICATION-FAILURE is signaled.

Method: unify (A character) (B character) &optional ENV &key CASE-SENSITIVE &allow-other-keys

Unifies two strings A and B.
Two CHARACTERs A and B unify if and only if they satisfy either #’CHAR= or #’CHAR-EQUAL. The choice of which of test to perform (#’CHAR= or #’CHAR-EQUAL) is made according to the value of the variable *UNIFY-STRING-CASE-SENSITIVE-P*, which defaults to T.
If A and B unify then an unmodified environment ENV is returned,
otherwise an error of type UNIFICATION-FAILURE is signaled.

Method: unify (A number) (B number) &optional ENV &key &allow-other-keys

Unifies two numbers A and B.
Two numbers unify only if and only if they are equal as per the function #’=, in which case an unmodified envirironment ENV is returned.
Otherwise an error of type UNIFICATION-FAILURE is signalled.
Of course, asking for unification of two floating point numbers may
not yield the expected result.

Method: unify (A list) (B list) &optional ENV &key &allow-other-keys

Unifies a list A and a list B in an environment ENV.
The unification procedure proceedes recursively on each element of both lists. If two elements cannot be unified then an error of type UNIFICATION-FAILURE is signaled. Otherwise a possibly extended environment is returned.

Method: unify (B list) (A symbol) &optional ENV &key &allow-other-keys

Unifies a symbol B and a list A in an environment ENV.
If A is not a variable then an error of type UNIFICATION-FAILURE is signaled. If A is a unification variable, then the environment ENV is extended with a binding for A to B, unless the occurrence check is called and fails, in which case an error is signaled.

Method: unify (A symbol) (B list) &optional ENV &key &allow-other-keys

Unifies a symbol A and a list B in an environment ENV.
If A is not a variable then an error of type UNIFICATION-FAILURE is signaled. If A is a unification variable, then the environment ENV is extended with a binding for A to B, unless the occurrence check is called and fails, in which case an error is signaled.


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

5.1.5 Conditions

Condition: unification-failure ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Direct superclasses

simple-error (condition)

Direct subclasses

unification-non-exhaustive (condition)

Condition: unification-variable-unbound ()

This is the condition that is signaled

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Direct superclasses

unbound-variable (condition)


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

5.1.6 Structures

Structure: environment ()

The ENVIRONMENT structure.

The data structure containing the associations (bindings) between variables and values.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: frames
Type

list

Readers

environment-frames (function)

Writers

(setf environment-frames) (function)


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

5.1.7 Classes

Class: aref-template ()

The AREF-TEMPLATE Class.

The instances of this class are those object that are used to unify
against a particular element of an ARRAY.

The syntax of these templates is the following:

<pre>
#T(<b>aref</b> (<i>index1</i> ... <i>indexN</i>) <i>item</i>)
</pre>

<pre>
#T(<b>aref</b> <i>index</i> <i>item</i>)
</pre>

The AREF-TEMPLATE syntax denotes the <i>item</i> at <i>index1</i> ...
<i>indexN</i> of an ARRAY. An AREF-TEMPLATE must be unified against a
ARRAY object. <i>item</i> is <em>unified</em> against the element
extracted from the sequence object at <i>index1</i> ... <i>indexN</i>
by the standard function AREF.

The second form is a shorthand.

<pre>
#T(<b>aref</b> <i>index</i> <i>item</i>) <==> #T(<b>aref</b> (<i>index</i>) <i>item</i>) </pre>

Examples:

cl-prompt> (setf e (unify #(0 1 42 3 4 5) #T(aref 2 ?x)))
#<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
42

cl-prompt> (setq e (unify #(0 1 42 3 4 5) #T(aref 42 ?x)))
==> Error: index 42 out of bounds.

cl-prompt> (setq e (unify 42 #T(aref 42 ?x)))
==> Error: UNIFICATION-FAILURE

cl-prompt> (setq e (unify "This is a string!" #T(aref 4 ?x)))
#<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
#\Space

cl-prompt> (setq e (unify #2A((1 0) (foo bar)) #T(aref (1 1) ?x)))
#<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
BAR

cl-prompt> (setq e (unify #2A((1 0) (foo bar)) #T(aref (1 1) baz)))
==> Error: UNIFICATION-FAILURE

cl-prompt> (setq e (unify #2A((1 0) (foo ?x)) #T(aref (1 1) baz)))
#<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
BAZ

Exceptional Situations:

Unifying an AREF-TEMPLATE against a non-ARRAY object results in an
UNIFICATION-FAILURE error being signaled.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

element-template (class)

Direct methods
Class: array-template ()

The ARRAY-TEMPLATE Class.

The instances of this class are objects that can be used to unify
against arrays.

The syntax of this particular template is the following:
<pre>
#T(array &lt;shape-template&gt;)
</pre>

<pre>
#T(&lt;CL array type specifier&gt; &lt;shape-template&gt;)
</pre>

<pre>
#T(array ([* | &lt;CL type specifier&gt;] [&lt;dimension spec&gt;]) &lt;shape-template&gt;) </pre>

Where &lt;shape-template&gt; can be:

<pre>
&lt;shape-template&gt; ::= &lt;sequence-template&gt;
| &lt;destructuring template lambda list&gt;
| (&lt;shape-template&gt;)
</pre>

The ARRAY-TEMPLATE syntax denotes an ARRAY object. An ARRAY-TEMPLATE
must be unified against an ARRAY object. The elements of the array
must be unified against the &lt;shape-template&gt;. Each row of the
array is unified recursively against each element of the
&lt;shape-template&gt;.

Examples:

cl-prompt> (setf e (unify #(0 1 42 3 4 5) #T(array (0 1 ?x 3 4 5))))
#<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
42

cl-prompt> (setq e (unify #(0 1 42 3 4 5) #T(array (0 1 "FOO" 3 4 5))))
==> Error: UNIFICATION-FAILURE

cl-prompt> (setq e (unify #2A((0 1 42) (3 4 5)) #T(array ((0 1 ?x) (3 4 5)))))
#<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
42

cl-prompt> (setq e (unify #2A(("foo" "bar" 42) (3 4 5)) #T(array ((_ _ ?x) (3 4 5))))) #<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
42

cl-prompt> (setq e (unify #2A(("foo" "bar" 42) (3 4 5)) #T(array (#T(vector _ &rest ?x) (3 4 5))))) #<ENVIRONMENT xxx>

cl-prompt> (find-variable-value ’?x e)
#("bar" 42)

Exceptional Situations:

Unifying an ARRAY-TEMPLATE against a non-ARRAY object results in an
UNIFICATION-FAILURE error being signaled.

Notes:

<h3>Syntax Note</h3>

The ARRAY-TEMPLATE syntax tries to be easy to use, at the cost of
being overloaded. There is no actual need to have the separate
forms <code>(<b>array</b> (fixnum) ...)</code> and
<code>((<b>array</b> fixnum) ...)</code>.

In a future release they may be conflated. For the time being
they are kept separate as it is unclear which would be better to
provide.

<h3>Elements Unification</h3>

It would be nice to have the possibility to unify against
<em>slices</em> of the array. Alas, this seems non trivial to get
right, and it is left as a future extension of the semantics of
<i>&lt;shape-template&gt;</i>.

<h3>ARRAY Structural Properties</h3>

For the time being, there is no way to "unify" against structural
properties of vectors like fill pointers and displacements.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct subclasses

vector-template (class)

Direct methods
Class: element-template ()

The ELEMENT-TEMPLATE Class.

The instances of this class are those object that are used to unify against a particular element of an ARRAY or a SEQUENCE.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

expression-template (class)

Direct subclasses
Direct methods

element-template-p (method)

Class: elt-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

element-template (class)

Direct methods
Class: expression-template ()

The EXPRESSION-TEMPLATE Class.

This class is the root of the ’expression template’ sub-hierarchy.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

template (class)

Direct subclasses
Direct methods

expression-template-p (method)

Class: nil-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct methods
Class: nth-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

element-template (class)

Direct methods
Class: nthcdr-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

element-template (class)

Direct methods

nthcdr-template-p (method)

Class: number-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct methods
Class: standard-object-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct methods
Class: structure-object-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct methods
Class: symbol-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct methods
Class: template ()

The TEMPLATE Class.

The root of the hierarchy of template objects.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: spec
Type

(or symbol cons)

Initargs

:spec

Readers

template-spec (generic function)

Writers

(setf template-spec) (generic function)

Direct Default Initargs
InitargValue
:specnil
Class: type-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

template (class)

Direct subclasses
Direct methods

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

5.1.8 Types

Type: substitution ()

The SUBSTITUTION type.

The type representing the associations between variables and values.

Notes:

It is a synonim for the structure type ENVIRONMENT.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *known-number-template-constants*
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Special Variable: *null-environment*
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Special Variable: *occurrence-check-p*
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)


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

5.2.2 Functions

Function: aref-template-element X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: aref-template-indexes X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: array-template-dimensions X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: array-template-element-type X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: array-template-shape-template X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: aux-lambda-var-info-default-value INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: aux-lambda-var-info-name INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: aux-lambda-var-info-name-for-supplied-indicator INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: aux-lambda-var-info-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: aux-lambda-var-info-type INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: bindings-keys BINDINGS
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: bindings-values BINDINGS
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: clean-unify-var-name V
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)

Function: compose-substitutions ENV2 ENV1
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

apply-substitution.lisp (file)

Function: copy-aux-lambda-var-info INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: copy-frame INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: copy-key-lambda-var-info INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: copy-lambda-var-info INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: copy-optional-lambda-var-info INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: copy-rest-lambda-var-info INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: dump-environment ENV &optional OUT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: dump-frame F &optional OUT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: empty-frame-p F
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: environment-frames INSTANCE
Function: (setf environment-frames) VALUE INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: environment-values ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: environment-variables ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: extend-bindings VARIABLE VALUE BINDINGS
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: find-variable-binding VARIABLE &optional ENV

Finds a BINDING for a VARIABLE in ENV.

The function returns a BINDING for VARIABLE in ENV, if it finds one. Otherwise returns NIL.

Arguments and Values:

VARIABLE : a unification variable
ENV : and ENVIRONMENT
result : a BINDING or NIL.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: find-variable-binding-in-frame V F
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: find-variable-value-in-frame V F
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: first-frame ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: frame-bindings INSTANCE
Function: (setf frame-bindings) VALUE INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: frame-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: frame-values FRAME
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: frame-variables FRAME
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: ground-term TERM &optional SUBSTITUTION
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

apply-substitution.lisp (file)

Function: is-variable-bound VARIABLE &optional ENV

Checks whether a VARIABLE is bound in ENV.

The function returns two values: a BOOLEAN that indicates whether VARIABLE is bound in ENV and its value if so; otherwise the second value is NIL.

Arguments and Values:

VARIABLE : a unification variable
ENV : and ENVIRONMENT
bounddp : a BOOLEAN
result : a T

Notes:

IS-VARIABLE-BOUND is almost symmetric to FIND-VARIABLE-VALUE.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: key-lambda-var-info-default-value INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: key-lambda-var-info-keyword-name INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: key-lambda-var-info-name INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: key-lambda-var-info-name-for-supplied-indicator INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: key-lambda-var-info-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: key-lambda-var-info-type INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: lambda-var-info-name INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: lambda-var-info-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: lambda-var-info-type INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: make-aux-lambda-var-info &key (NAME NAME) (TYPE TYPE) (DEFAULT-VALUE DEFAULT-VALUE) (NAME-FOR-SUPPLIED-INDICATOR NAME-FOR-SUPPLIED-INDICATOR)
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: make-binding VARIABLE VALUE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: make-environment &key (FRAMES FRAMES)
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: make-frame &optional BINDINGS
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: make-key-lambda-var-info &key (NAME NAME) (TYPE TYPE) (DEFAULT-VALUE DEFAULT-VALUE) (NAME-FOR-SUPPLIED-INDICATOR NAME-FOR-SUPPLIED-INDICATOR) (KEYWORD-NAME KEYWORD-NAME)
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: make-lambda-var-info &key (NAME NAME) (TYPE TYPE)
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: make-optional-lambda-var-info &key (NAME NAME) (TYPE TYPE) (DEFAULT-VALUE DEFAULT-VALUE) (NAME-FOR-SUPPLIED-INDICATOR NAME-FOR-SUPPLIED-INDICATOR)
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: make-rest-lambda-var-info &key NAME TYPE ELEMENT-TYPE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: make-var-name &optional S PACKAGE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

variables.lisp (file)

Function: normalize-lambda-list LAMBDA-LIST
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: number-template-number X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: number-template-numeric-class X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: number-template-numeric-type X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: optional-lambda-var-info-default-value INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: optional-lambda-var-info-name INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: optional-lambda-var-info-name-for-supplied-indicator INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: optional-lambda-var-info-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: optional-lambda-var-info-type INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: parse-auxiliary-var-type-info VAR
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: parse-extended-ordinary-lambda-list LAMBDA-LIST &key ORDINARY-VARIABLE-TEST OPTIONAL-VARIABLE-TEST REST-VARIABLE-TEST KEY-VARIABLE-TEST AUX-VARIABLE-TEST
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: parse-key-var-type-info VAR
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: parse-optional-var-type-info VAR
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: parse-rest-var-type-info VAR
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: parse-var-type-info VAR
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: print-environment ENV STREAM
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: rest-lambda-var-info-element-type INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: rest-lambda-var-info-name INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: rest-lambda-var-info-p OBJECT
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: rest-lambda-var-info-type INSTANCE
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: sequence-template-lambda-list X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: sharp-t-reader STREAM SUBCHAR ARG
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: standard-object-template-class X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: standard-object-template-slots X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: structure-object-template-class X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: structure-object-template-slots X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: substitution-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Function: symbol-or-cons-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: symbol-template-symbol X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: type-is-t-p TYPE-SPEC
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: type-specifier-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Function: unify-array-row ARRAY DIMS SHAPE-TEMPLATE INDEXES ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: unify-array-rows ARRAY SHAPE-TEMPLATE ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: valid-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: var-unify VAR PAT ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Function: vector-template-element-type X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Function: vector-template-size X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)


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

5.2.3 Generic functions

Generic Function: lambda-list-parsing-error-item CONDITION
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Methods
Method: lambda-list-parsing-error-item (CONDITION lambda-list-parsing-error)
Source

lambda-list-parsing.lisp (file)

Generic Function: lambda-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: lambda-template-p (X lambda-template)
Method: lambda-template-p X
Generic Function: list-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: list-template-p (X list-template)
Method: list-template-p X
Generic Function: occurs-in-p VAR PAT ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Methods
Method: occurs-in-p VAR PAT ENV
Method: occurs-in-p (VAR symbol) PAT ENV
Method: occurs-in-p (VAR symbol) (PAT template) ENV
Method: occurs-in-p (VAR symbol) (PAT character) ENV
Method: occurs-in-p (VAR symbol) (PAT number) ENV
Method: occurs-in-p (VAR symbol) (PAT string) ENV
Method: occurs-in-p (VAR symbol) (PAT vector) ENV
Method: occurs-in-p (VAR symbol) (PAT array) ENV
Method: occurs-in-p (VAR symbol) (PAT null) ENV
Method: occurs-in-p (VAR symbol) (PAT list) ENV
Method: occurs-in-p (VAR symbol) (PAT symbol) ENV
Generic Function: plist-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: plist-template-p (X plist-template)
Method: plist-template-p X
Generic Function: sequence-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: sequence-template-p (X sequence-template)
Method: sequence-template-p X
Generic Function: string-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: string-template-p (X string-template)
Method: string-template-p X
Generic Function: subseq-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: subseq-template-p (X subseq-template)
Method: subseq-template-p X
Generic Function: type-template-type-spec X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: type-template-type-spec (X type-template)
Generic Function: untyped-unify A B &optional ENV
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

unifier.lisp (file)

Methods
Method: untyped-unify A B &optional ENV
Method: untyped-unify (AS vector) (BS list) &optional ENV
Method: untyped-unify (AS list) (BS vector) &optional ENV
Generic Function: vector-template-p X
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Methods
Method: vector-template-p (X vector-template)
Method: vector-template-p X

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

5.2.4 Conditions

Condition: lambda-list-parsing-error ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Direct superclasses

program-error (condition)

Direct methods

lambda-list-parsing-error-item (method)

Direct slots
Slot: item
Initargs

:item

Readers

lambda-list-parsing-error-item (generic function)

Condition: unification-non-exhaustive ()

Condition thrown by ’match’ forms.

The condition UNIFICATION-FAILURE is thrown by ’match’ forms when it can be established that there are other possible unifications for a template.

Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

match-block.lisp (file)

Direct superclasses

unification-failure (condition)

Condition: unification-template-error ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

simple-error (condition)


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

5.2.5 Structures

Structure: aux-lambda-var-info ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Direct superclasses

optional-lambda-var-info (structure)

Structure: frame ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: bindings
Type

it.unimib.disco.ma.cl.ext.dacf.unification::bindings

Readers

frame-bindings (function)

Writers

(setf frame-bindings) (function)

Structure: key-lambda-var-info ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Direct superclasses

optional-lambda-var-info (structure)

Direct slots
Slot: keyword-name
Readers

key-lambda-var-info-keyword-name (function)

Writers

(setf key-lambda-var-info-keyword-name) (function)

Structure: lambda-var-info ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Direct superclasses

structure-object (structure)

Direct subclasses
Direct slots
Slot: name
Readers

lambda-var-info-name (function)

Writers

(setf lambda-var-info-name) (function)

Slot: type
Initform

t

Readers

lambda-var-info-type (function)

Writers

(setf lambda-var-info-type) (function)

Structure: optional-lambda-var-info ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Direct superclasses

lambda-var-info (structure)

Direct subclasses
Direct slots
Slot: default-value
Readers

optional-lambda-var-info-default-value (function)

Writers

(setf optional-lambda-var-info-default-value) (function)

Slot: name-for-supplied-indicator
Readers

optional-lambda-var-info-name-for-supplied-indicator (function)

Writers

(setf optional-lambda-var-info-name-for-supplied-indicator) (function)

Structure: rest-lambda-var-info ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

lambda-list-parsing.lisp (file)

Direct superclasses

lambda-var-info (structure)

Direct slots
Slot: element-type
Initform

t

Readers

rest-lambda-var-info-element-type (function)

Writers

(setf rest-lambda-var-info-element-type) (function)


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

5.2.6 Classes

Class: asdf-system-definition-file ()
Package

cl-unification-system

Source

cl-unification.asd

Direct superclasses

cl-source-file (class)

Direct methods

source-file-type (method)

Class: lambda-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses
Direct methods

lambda-template-p (method)

Class: list-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

sequence-template (class)

Direct subclasses
Direct methods

list-template-p (method)

Class: plist-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

list-template (class)

Direct methods
Class: sequence-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

type-template (class)

Direct subclasses
Direct methods
Class: string-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

vector-template (class)

Direct methods

string-template-p (method)

Class: subseq-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses

expression-template (class)

Direct methods
Class: vector-template ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

templates-hierarchy.lisp (file)

Direct superclasses
Direct subclasses

string-template (class)

Direct methods

vector-template-p (method)


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

5.2.7 Types

Type: binding ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.lisp (file)

Type: bindings ()
Package

it.unimib.disco.ma.cl.ext.dacf.unification

Source

substitutions.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-unification.asd: The cl-unification<dot>asd file
cl-unification/apply-substitution.lisp: The cl-unification/apply-substitution<dot>lisp file
cl-unification/cl-unification-lib.lisp: The cl-unification/cl-unification-lib<dot>lisp file
cl-unification/cl-unification-pkg.lisp: The cl-unification/cl-unification-pkg<dot>lisp file
cl-unification/lambda-list-parsing.lisp: The cl-unification/lambda-list-parsing<dot>lisp file
cl-unification/match-block.lisp: The cl-unification/match-block<dot>lisp file
cl-unification/substitutions.lisp: The cl-unification/substitutions<dot>lisp file
cl-unification/templates-hierarchy.lisp: The cl-unification/templates-hierarchy<dot>lisp file
cl-unification/unifier.lisp: The cl-unification/unifier<dot>lisp file
cl-unification/variables.lisp: The cl-unification/variables<dot>lisp file

F
File, Lisp, cl-unification.asd: The cl-unification<dot>asd file
File, Lisp, cl-unification/apply-substitution.lisp: The cl-unification/apply-substitution<dot>lisp file
File, Lisp, cl-unification/cl-unification-lib.lisp: The cl-unification/cl-unification-lib<dot>lisp file
File, Lisp, cl-unification/cl-unification-pkg.lisp: The cl-unification/cl-unification-pkg<dot>lisp file
File, Lisp, cl-unification/lambda-list-parsing.lisp: The cl-unification/lambda-list-parsing<dot>lisp file
File, Lisp, cl-unification/match-block.lisp: The cl-unification/match-block<dot>lisp file
File, Lisp, cl-unification/substitutions.lisp: The cl-unification/substitutions<dot>lisp file
File, Lisp, cl-unification/templates-hierarchy.lisp: The cl-unification/templates-hierarchy<dot>lisp file
File, Lisp, cl-unification/unifier.lisp: The cl-unification/unifier<dot>lisp file
File, Lisp, cl-unification/variables.lisp: The cl-unification/variables<dot>lisp file

L
Lisp File, cl-unification.asd: The cl-unification<dot>asd file
Lisp File, cl-unification/apply-substitution.lisp: The cl-unification/apply-substitution<dot>lisp file
Lisp File, cl-unification/cl-unification-lib.lisp: The cl-unification/cl-unification-lib<dot>lisp file
Lisp File, cl-unification/cl-unification-pkg.lisp: The cl-unification/cl-unification-pkg<dot>lisp file
Lisp File, cl-unification/lambda-list-parsing.lisp: The cl-unification/lambda-list-parsing<dot>lisp file
Lisp File, cl-unification/match-block.lisp: The cl-unification/match-block<dot>lisp file
Lisp File, cl-unification/substitutions.lisp: The cl-unification/substitutions<dot>lisp file
Lisp File, cl-unification/templates-hierarchy.lisp: The cl-unification/templates-hierarchy<dot>lisp file
Lisp File, cl-unification/unifier.lisp: The cl-unification/unifier<dot>lisp file
Lisp File, cl-unification/variables.lisp: The cl-unification/variables<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   K   L   M   N   O   P   R   S   T   U   V  
Index Entry  Section

(
(setf binding-value): Exported functions
(setf binding-variable): Exported functions
(setf environment-frames): Internal functions
(setf frame-bindings): Internal functions
(setf template-spec): Exported generic functions
(setf template-spec): Exported generic functions

A
apply-substitution: Exported generic functions
apply-substitution: Exported generic functions
apply-substitution: Exported generic functions
apply-substitution: Exported generic functions
apply-substitution: Exported generic functions
aref-template-element: Internal functions
aref-template-indexes: Internal functions
aref-template-p: Exported generic functions
aref-template-p: Exported generic functions
aref-template-p: Exported generic functions
array-template-dimensions: Internal functions
array-template-element-type: Internal functions
array-template-p: Exported generic functions
array-template-p: Exported generic functions
array-template-p: Exported generic functions
array-template-shape-template: Internal functions
aux-lambda-var-info-default-value: Internal functions
aux-lambda-var-info-name: Internal functions
aux-lambda-var-info-name-for-supplied-indicator: Internal functions
aux-lambda-var-info-p: Internal functions
aux-lambda-var-info-type: Internal functions

B
binding-value: Exported functions
binding-variable: Exported functions
bindings-keys: Internal functions
bindings-values: Internal functions

C
clean-unify-var-name: Internal functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
collect-template-vars: Exported generic functions
compose-substitutions: Internal functions
copy-aux-lambda-var-info: Internal functions
copy-environment: Exported functions
copy-frame: Internal functions
copy-key-lambda-var-info: Internal functions
copy-lambda-var-info: Internal functions
copy-optional-lambda-var-info: Internal functions
copy-rest-lambda-var-info: Internal functions

D
dump-environment: Internal functions
dump-frame: Internal functions

E
element-template-p: Exported generic functions
element-template-p: Exported generic functions
element-template-p: Exported generic functions
elt-template-p: Exported generic functions
elt-template-p: Exported generic functions
elt-template-p: Exported generic functions
empty-environment-p: Exported functions
empty-frame-p: Internal functions
environment-frames: Internal functions
environment-p: Exported functions
environment-values: Internal functions
environment-variables: Internal functions
expression-template-p: Exported generic functions
expression-template-p: Exported generic functions
expression-template-p: Exported generic functions
extend-bindings: Internal functions
extend-environment: Exported functions

F
fill-environment: Exported functions
fill-environment*: Exported functions
find-variable-binding: Internal functions
find-variable-binding-in-frame: Internal functions
find-variable-value: Exported functions
find-variable-value-in-frame: Internal functions
first-frame: Internal functions
frame-bindings: Internal functions
frame-p: Internal functions
frame-values: Internal functions
frame-variables: Internal functions
Function, (setf binding-value): Exported functions
Function, (setf binding-variable): Exported functions
Function, (setf environment-frames): Internal functions
Function, (setf frame-bindings): Internal functions
Function, aref-template-element: Internal functions
Function, aref-template-indexes: Internal functions
Function, array-template-dimensions: Internal functions
Function, array-template-element-type: Internal functions
Function, array-template-shape-template: Internal functions
Function, aux-lambda-var-info-default-value: Internal functions
Function, aux-lambda-var-info-name: Internal functions
Function, aux-lambda-var-info-name-for-supplied-indicator: Internal functions
Function, aux-lambda-var-info-p: Internal functions
Function, aux-lambda-var-info-type: Internal functions
Function, binding-value: Exported functions
Function, binding-variable: Exported functions
Function, bindings-keys: Internal functions
Function, bindings-values: Internal functions
Function, clean-unify-var-name: Internal functions
Function, compose-substitutions: Internal functions
Function, copy-aux-lambda-var-info: Internal functions
Function, copy-environment: Exported functions
Function, copy-frame: Internal functions
Function, copy-key-lambda-var-info: Internal functions
Function, copy-lambda-var-info: Internal functions
Function, copy-optional-lambda-var-info: Internal functions
Function, copy-rest-lambda-var-info: Internal functions
Function, dump-environment: Internal functions
Function, dump-frame: Internal functions
Function, empty-environment-p: Exported functions
Function, empty-frame-p: Internal functions
Function, environment-frames: Internal functions
Function, environment-p: Exported functions
Function, environment-values: Internal functions
Function, environment-variables: Internal functions
Function, extend-bindings: Internal functions
Function, extend-environment: Exported functions
Function, fill-environment: Exported functions
Function, fill-environment*: Exported functions
Function, find-variable-binding: Internal functions
Function, find-variable-binding-in-frame: Internal functions
Function, find-variable-value: Exported functions
Function, find-variable-value-in-frame: Internal functions
Function, first-frame: Internal functions
Function, frame-bindings: Internal functions
Function, frame-p: Internal functions
Function, frame-values: Internal functions
Function, frame-variables: Internal functions
Function, ground-term: Internal functions
Function, is-variable-bound: Internal functions
Function, key-lambda-var-info-default-value: Internal functions
Function, key-lambda-var-info-keyword-name: Internal functions
Function, key-lambda-var-info-name: Internal functions
Function, key-lambda-var-info-name-for-supplied-indicator: Internal functions
Function, key-lambda-var-info-p: Internal functions
Function, key-lambda-var-info-type: Internal functions
Function, lambda-var-info-name: Internal functions
Function, lambda-var-info-p: Internal functions
Function, lambda-var-info-type: Internal functions
Function, make-aux-lambda-var-info: Internal functions
Function, make-binding: Internal functions
Function, make-empty-environment: Exported functions
Function, make-environment: Internal functions
Function, make-frame: Internal functions
Function, make-key-lambda-var-info: Internal functions
Function, make-lambda-var-info: Internal functions
Function, make-optional-lambda-var-info: Internal functions
Function, make-rest-lambda-var-info: Internal functions
Function, make-shared-environment: Exported functions
Function, make-var-name: Internal functions
Function, new-var: Exported functions
Function, normalize-lambda-list: Internal functions
Function, number-template-number: Internal functions
Function, number-template-numeric-class: Internal functions
Function, number-template-numeric-type: Internal functions
Function, optional-lambda-var-info-default-value: Internal functions
Function, optional-lambda-var-info-name: Internal functions
Function, optional-lambda-var-info-name-for-supplied-indicator: Internal functions
Function, optional-lambda-var-info-p: Internal functions
Function, optional-lambda-var-info-type: Internal functions
Function, parse-auxiliary-var-type-info: Internal functions
Function, parse-extended-ordinary-lambda-list: Internal functions
Function, parse-key-var-type-info: Internal functions
Function, parse-optional-var-type-info: Internal functions
Function, parse-rest-var-type-info: Internal functions
Function, parse-var-type-info: Internal functions
Function, pop-frame: Exported functions
Function, print-environment: Internal functions
Function, push-frame: Exported functions
Function, rest-lambda-var-info-element-type: Internal functions
Function, rest-lambda-var-info-name: Internal functions
Function, rest-lambda-var-info-p: Internal functions
Function, rest-lambda-var-info-type: Internal functions
Function, sequence-template-lambda-list: Internal functions
Function, sharp-t-reader: Internal functions
Function, standard-object-template-class: Internal functions
Function, standard-object-template-slots: Internal functions
Function, structure-object-template-class: Internal functions
Function, structure-object-template-slots: Internal functions
Function, substitution-p: Internal functions
Function, symbol-or-cons-p: Internal functions
Function, symbol-template-symbol: Internal functions
Function, type-is-t-p: Internal functions
Function, type-specifier-p: Internal functions
Function, unify*: Exported functions
Function, unify-array-row: Internal functions
Function, unify-array-rows: Internal functions
Function, unify-equations: Exported functions
Function, unify-equations*: Exported functions
Function, v?: Exported functions
Function, valid-template-p: Internal functions
Function, var-unify: Internal functions
Function, variable-any-p: Exported functions
Function, variablep: Exported functions
Function, vector-template-element-type: Internal functions
Function, vector-template-size: Internal functions

G
Generic Function, (setf template-spec): Exported generic functions
Generic Function, apply-substitution: Exported generic functions
Generic Function, aref-template-p: Exported generic functions
Generic Function, array-template-p: Exported generic functions
Generic Function, collect-template-vars: Exported generic functions
Generic Function, element-template-p: Exported generic functions
Generic Function, elt-template-p: Exported generic functions
Generic Function, expression-template-p: Exported generic functions
Generic Function, lambda-list-parsing-error-item: Internal generic functions
Generic Function, lambda-template-p: Internal generic functions
Generic Function, list-template-p: Internal generic functions
Generic Function, make-template: Exported generic functions
Generic Function, nil-template-p: Exported generic functions
Generic Function, nth-template-p: Exported generic functions
Generic Function, nthcdr-template-p: Exported generic functions
Generic Function, number-template-p: Exported generic functions
Generic Function, occurs-in-p: Internal generic functions
Generic Function, plist-template-p: Internal generic functions
Generic Function, sequence-template-p: Internal generic functions
Generic Function, standard-object-template-p: Exported generic functions
Generic Function, string-template-p: Internal generic functions
Generic Function, structure-object-template-p: Exported generic functions
Generic Function, subseq-template-p: Internal generic functions
Generic Function, symbol-template-p: Exported generic functions
Generic Function, template-p: Exported generic functions
Generic Function, template-spec: Exported generic functions
Generic Function, type-template-p: Exported generic functions
Generic Function, type-template-type-spec: Internal generic functions
Generic Function, unify: Exported generic functions
Generic Function, untyped-unify: Internal generic functions
Generic Function, vector-template-p: Internal generic functions
ground-term: Internal functions

I
is-variable-bound: Internal functions

K
key-lambda-var-info-default-value: Internal functions
key-lambda-var-info-keyword-name: Internal functions
key-lambda-var-info-name: Internal functions
key-lambda-var-info-name-for-supplied-indicator: Internal functions
key-lambda-var-info-p: Internal functions
key-lambda-var-info-type: Internal functions

L
lambda-list-parsing-error-item: Internal generic functions
lambda-list-parsing-error-item: Internal generic functions
lambda-template-p: Internal generic functions
lambda-template-p: Internal generic functions
lambda-template-p: Internal generic functions
lambda-var-info-name: Internal functions
lambda-var-info-p: Internal functions
lambda-var-info-type: Internal functions
list-template-p: Internal generic functions
list-template-p: Internal generic functions
list-template-p: Internal generic functions

M
Macro, match: Exported macros
Macro, match-case: Exported macros
Macro, matchf: Exported macros
Macro, matchf-case: Exported macros
Macro, matching: Exported macros
make-aux-lambda-var-info: Internal functions
make-binding: Internal functions
make-empty-environment: Exported functions
make-environment: Internal functions
make-frame: Internal functions
make-key-lambda-var-info: Internal functions
make-lambda-var-info: Internal functions
make-optional-lambda-var-info: Internal functions
make-rest-lambda-var-info: Internal functions
make-shared-environment: Exported functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-template: Exported generic functions
make-var-name: Internal functions
match: Exported macros
match-case: Exported macros
matchf: Exported macros
matchf-case: Exported macros
matching: Exported macros
Method, (setf template-spec): Exported generic functions
Method, apply-substitution: Exported generic functions
Method, apply-substitution: Exported generic functions
Method, apply-substitution: Exported generic functions
Method, apply-substitution: Exported generic functions
Method, aref-template-p: Exported generic functions
Method, aref-template-p: Exported generic functions
Method, array-template-p: Exported generic functions
Method, array-template-p: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, collect-template-vars: Exported generic functions
Method, element-template-p: Exported generic functions
Method, element-template-p: Exported generic functions
Method, elt-template-p: Exported generic functions
Method, elt-template-p: Exported generic functions
Method, expression-template-p: Exported generic functions
Method, expression-template-p: Exported generic functions
Method, lambda-list-parsing-error-item: Internal generic functions
Method, lambda-template-p: Internal generic functions
Method, lambda-template-p: Internal generic functions
Method, list-template-p: Internal generic functions
Method, list-template-p: Internal generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, make-template: Exported generic functions
Method, nil-template-p: Exported generic functions
Method, nil-template-p: Exported generic functions
Method, nth-template-p: Exported generic functions
Method, nth-template-p: Exported generic functions
Method, nthcdr-template-p: Exported generic functions
Method, nthcdr-template-p: Exported generic functions
Method, number-template-p: Exported generic functions
Method, number-template-p: Exported generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, occurs-in-p: Internal generic functions
Method, plist-template-p: Internal generic functions
Method, plist-template-p: Internal generic functions
Method, sequence-template-p: Internal generic functions
Method, sequence-template-p: Internal generic functions
Method, standard-object-template-p: Exported generic functions
Method, standard-object-template-p: Exported generic functions
Method, string-template-p: Internal generic functions
Method, string-template-p: Internal generic functions
Method, structure-object-template-p: Exported generic functions
Method, structure-object-template-p: Exported generic functions
Method, subseq-template-p: Internal generic functions
Method, subseq-template-p: Internal generic functions
Method, symbol-template-p: Exported generic functions
Method, symbol-template-p: Exported generic functions
Method, template-p: Exported generic functions
Method, template-p: Exported generic functions
Method, template-spec: Exported generic functions
Method, type-template-p: Exported generic functions
Method, type-template-p: Exported generic functions
Method, type-template-type-spec: Internal generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, unify: Exported generic functions
Method, untyped-unify: Internal generic functions
Method, untyped-unify: Internal generic functions
Method, untyped-unify: Internal generic functions
Method, vector-template-p: Internal generic functions
Method, vector-template-p: Internal generic functions

N
new-var: Exported functions
nil-template-p: Exported generic functions
nil-template-p: Exported generic functions
nil-template-p: Exported generic functions
normalize-lambda-list: Internal functions
nth-template-p: Exported generic functions
nth-template-p: Exported generic functions
nth-template-p: Exported generic functions
nthcdr-template-p: Exported generic functions
nthcdr-template-p: Exported generic functions
nthcdr-template-p: Exported generic functions
number-template-number: Internal functions
number-template-numeric-class: Internal functions
number-template-numeric-type: Internal functions
number-template-p: Exported generic functions
number-template-p: Exported generic functions
number-template-p: Exported generic functions

O
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
occurs-in-p: Internal generic functions
optional-lambda-var-info-default-value: Internal functions
optional-lambda-var-info-name: Internal functions
optional-lambda-var-info-name-for-supplied-indicator: Internal functions
optional-lambda-var-info-p: Internal functions
optional-lambda-var-info-type: Internal functions

P
parse-auxiliary-var-type-info: Internal functions
parse-extended-ordinary-lambda-list: Internal functions
parse-key-var-type-info: Internal functions
parse-optional-var-type-info: Internal functions
parse-rest-var-type-info: Internal functions
parse-var-type-info: Internal functions
plist-template-p: Internal generic functions
plist-template-p: Internal generic functions
plist-template-p: Internal generic functions
pop-frame: Exported functions
print-environment: Internal functions
push-frame: Exported functions

R
rest-lambda-var-info-element-type: Internal functions
rest-lambda-var-info-name: Internal functions
rest-lambda-var-info-p: Internal functions
rest-lambda-var-info-type: Internal functions

S
sequence-template-lambda-list: Internal functions
sequence-template-p: Internal generic functions
sequence-template-p: Internal generic functions
sequence-template-p: Internal generic functions
sharp-t-reader: Internal functions
standard-object-template-class: Internal functions
standard-object-template-p: Exported generic functions
standard-object-template-p: Exported generic functions
standard-object-template-p: Exported generic functions
standard-object-template-slots: Internal functions
string-template-p: Internal generic functions
string-template-p: Internal generic functions
string-template-p: Internal generic functions
structure-object-template-class: Internal functions
structure-object-template-p: Exported generic functions
structure-object-template-p: Exported generic functions
structure-object-template-p: Exported generic functions
structure-object-template-slots: Internal functions
subseq-template-p: Internal generic functions
subseq-template-p: Internal generic functions
subseq-template-p: Internal generic functions
substitution-p: Internal functions
symbol-or-cons-p: Internal functions
symbol-template-p: Exported generic functions
symbol-template-p: Exported generic functions
symbol-template-p: Exported generic functions
symbol-template-symbol: Internal functions

T
template-p: Exported generic functions
template-p: Exported generic functions
template-p: Exported generic functions
template-spec: Exported generic functions
template-spec: Exported generic functions
type-is-t-p: Internal functions
type-specifier-p: Internal functions
type-template-p: Exported generic functions
type-template-p: Exported generic functions
type-template-p: Exported generic functions
type-template-type-spec: Internal generic functions
type-template-type-spec: Internal generic functions

U
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify: Exported generic functions
unify*: Exported functions
unify-array-row: Internal functions
unify-array-rows: Internal functions
unify-equations: Exported functions
unify-equations*: Exported functions
untyped-unify: Internal generic functions
untyped-unify: Internal generic functions
untyped-unify: Internal generic functions
untyped-unify: Internal generic functions

V
v?: Exported functions
valid-template-p: Internal functions
var-unify: Internal functions
variable-any-p: Exported functions
variablep: Exported functions
vector-template-element-type: Internal functions
vector-template-p: Internal generic functions
vector-template-p: Internal generic functions
vector-template-p: Internal generic functions
vector-template-size: Internal functions

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

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

A.3 Variables

Jump to:   *  
B   D   E   F   I   K   N   S   T  
Index Entry  Section

*
*known-number-template-constants*: Internal special variables
*null-environment*: Internal special variables
*occurrence-check-p*: Internal special variables
*unify-string-case-sensitive-p*: Exported special variables

B
bindings: Internal structures

D
default-value: Internal structures

E
element-type: Internal structures

F
frames: Exported structures

I
item: Internal conditions

K
keyword-name: Internal structures

N
name: Internal structures
name-for-supplied-indicator: Internal structures

S
Slot, bindings: Internal structures
Slot, default-value: Internal structures
Slot, element-type: Internal structures
Slot, frames: Exported structures
Slot, item: Internal conditions
Slot, keyword-name: Internal structures
Slot, name: Internal structures
Slot, name-for-supplied-indicator: Internal structures
Slot, spec: Exported classes
Slot, type: Internal structures
spec: Exported classes
Special Variable, *known-number-template-constants*: Internal special variables
Special Variable, *null-environment*: Internal special variables
Special Variable, *occurrence-check-p*: Internal special variables
Special Variable, *unify-string-case-sensitive-p*: Exported special variables

T
type: Internal structures

Jump to:   *  
B   D   E   F   I   K   N   S   T  

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

A.4 Data types

Jump to:   A   B   C   E   F   I   K   L   N   O   P   R   S   T   U   V  
Index Entry  Section

A
aref-template: Exported classes
array-template: Exported classes
asdf-system-definition-file: Internal classes
aux-lambda-var-info: Internal structures

B
binding: Internal types
bindings: Internal types

C
cl-unification: The cl-unification system
cl-unification-system: The cl-unification-system package
Class, aref-template: Exported classes
Class, array-template: Exported classes
Class, asdf-system-definition-file: Internal classes
Class, element-template: Exported classes
Class, elt-template: Exported classes
Class, expression-template: Exported classes
Class, lambda-template: Internal classes
Class, list-template: Internal classes
Class, nil-template: Exported classes
Class, nth-template: Exported classes
Class, nthcdr-template: Exported classes
Class, number-template: Exported classes
Class, plist-template: Internal classes
Class, sequence-template: Internal classes
Class, standard-object-template: Exported classes
Class, string-template: Internal classes
Class, structure-object-template: Exported classes
Class, subseq-template: Internal classes
Class, symbol-template: Exported classes
Class, template: Exported classes
Class, type-template: Exported classes
Class, vector-template: Internal classes
Condition, lambda-list-parsing-error: Internal conditions
Condition, unification-failure: Exported conditions
Condition, unification-non-exhaustive: Internal conditions
Condition, unification-template-error: Internal conditions
Condition, unification-variable-unbound: Exported conditions

E
element-template: Exported classes
elt-template: Exported classes
environment: Exported structures
expression-template: Exported classes

F
frame: Internal structures

I
it.unimib.disco.ma.cl.ext.dacf.unification: The it<dot>unimib<dot>disco<dot>ma<dot>cl<dot>ext<dot>dacf<dot>unification package

K
key-lambda-var-info: Internal structures

L
lambda-list-parsing-error: Internal conditions
lambda-template: Internal classes
lambda-var-info: Internal structures
list-template: Internal classes

N
nil-template: Exported classes
nth-template: Exported classes
nthcdr-template: Exported classes
number-template: Exported classes

O
optional-lambda-var-info: Internal structures

P
Package, cl-unification-system: The cl-unification-system package
Package, it.unimib.disco.ma.cl.ext.dacf.unification: The it<dot>unimib<dot>disco<dot>ma<dot>cl<dot>ext<dot>dacf<dot>unification package
plist-template: Internal classes

R
rest-lambda-var-info: Internal structures

S
sequence-template: Internal classes
standard-object-template: Exported classes
string-template: Internal classes
Structure, aux-lambda-var-info: Internal structures
Structure, environment: Exported structures
Structure, frame: Internal structures
Structure, key-lambda-var-info: Internal structures
Structure, lambda-var-info: Internal structures
Structure, optional-lambda-var-info: Internal structures
Structure, rest-lambda-var-info: Internal structures
structure-object-template: Exported classes
subseq-template: Internal classes
substitution: Exported types
symbol-template: Exported classes
System, cl-unification: The cl-unification system

T
template: Exported classes
Type, binding: Internal types
Type, bindings: Internal types
Type, substitution: Exported types
type-template: Exported classes

U
unification-failure: Exported conditions
unification-non-exhaustive: Internal conditions
unification-template-error: Internal conditions
unification-variable-unbound: Exported conditions

V
vector-template: Internal classes

Jump to:   A   B   C   E   F   I   K   L   N   O   P   R   S   T   U   V