The template-function Reference Manual

Table of Contents

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

The template-function Reference Manual

This is the template-function Reference Manual, version 0.0.1, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 12:39:33 2018 GMT+0.


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

1 Introduction

Template Function - When Code is a Function of Type

In many application domains it is common to implement algorithms that are defined for instances of the common lisp array, sequence and/or number classes. The abstract nature of these classes makes it difficult for compilers to simultaneously satisfy user demands on run-time performance whilst maintaining generality. Unsurprisingly, developers typically sacrifice generality by specializing the implementation to one or more subclasses. This decision introduces issues concerning maintainability, portability and reuse.

The template function system avoids this sacrifice by providing functionality which allows users to request an implementation which is specialized to a set of types. The generated specialization is then associated with a template function object and is automatically selected at runtime or at compile time according to type information found in the function application.

The system provides support for template functions composed of other template functions, recursive template functions, inlined templated functions and template functions accepting optional, rest and keyword arguments. Associated with this functionality is a meta-object protocol consisting of object, glue and syntax layers.

Users should be aware that the interface provided by the template function system is subject to change.

Documentation and tutorials for this project are provided in the project wiki.

Installation

The template function system has the following dependencies:

  1. Alexandria
  2. Introspect Environment
  3. Specialization Store
  4. FiveAM (test framework)

The template function system has been tested using SBCL and Clozure Common Lisp.

Great effort has been spent on implementing this system such that it is portable to all implementations. The compile time dispatch functionality makes extensive use of compiler macros and the CLTL2 environment API.

The template function system can be loaded in to your lisp environment by evaluating the following ASDF forms

(asdf:load-system "template-function")

The template function system includes a large suite of tests. These tests can be executed by evaluating the following forms

(asdf:test-system "specialization-store")
(asdf:test-system "template-function")

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 template-function

Author

Mark Cox

License

Simplified BSD License variant

Description

A system for generating functions from a template.

Version

0.0.1

Dependencies
Source

template-function.asd (file)

Component

src (module)


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

3 Modules

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


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

3.1 template-function/src

Parent

template-function (system)

Location

src/

Components

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

4 Files

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


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

4.1 Lisp


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

4.1.1 template-function.asd

Location

template-function.asd

Systems

template-function (system)


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

4.1.2 template-function/src/packages.lisp

Parent

src (module)

Location

src/packages.lisp

Packages

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

4.1.3 template-function/src/name-mangling.lisp

Dependency

packages.lisp (file)

Parent

src (module)

Location

src/name-mangling.lisp

Internal Definitions

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

4.1.4 template-function/src/name-mangling-definitions.lisp

Dependency

name-mangling.lisp (file)

Parent

src (module)

Location

src/name-mangling-definitions.lisp


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

4.1.5 template-function/src/argument-specification.lisp

Dependency

name-mangling-definitions.lisp (file)

Parent

src (module)

Location

src/argument-specification.lisp

Exported Definitions
Internal Definitions

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

4.1.6 template-function/src/template-function.lisp

Dependency

argument-specification.lisp (file)

Parent

src (module)

Location

src/template-function.lisp

Exported Definitions
Internal Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 template-function.names

Source

packages.lisp (file)


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

5.2 template-function.argument-specification

Source

packages.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

5.3 template-function

Source

packages.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

6 Definitions

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


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

6.1 Exported definitions


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

6.1.1 Macros

Macro: argument-specification-lambda AS-LAMBDA-LIST &body BODY
Package

template-function

Source

argument-specification.lisp (file)

Macro: define-template NAME LAMBDA-LIST &body BODY
Package

template-function

Source

template-function.lisp (file)

Macro: defun/argument-specification NAME LAMBDA-LIST &body BODY
Package

template-function

Source

argument-specification.lisp (file)

Macro: destructuring-argument-specification LAMBDA-LIST ARGUMENT-SPECIFICATION &body BODY
Package

template-function

Source

argument-specification.lisp (file)

Macro: named-argument-specification-lambda NAME LAMBDA-LIST &body BODY
Package

template-function

Source

argument-specification.lisp (file)

Macro: require-instantiation TEMPLATE-FUNCTION-NAME ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Macro: require-instantiations &rest PAIRS-OF-NAME-AND-ARGUMENT-SPECIFICATIONS
Package

template-function

Source

template-function.lisp (file)


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

6.1.2 Functions

Function: ensure-template-function NAME LAMBDA-LIST &rest ARGS &key LAMBDA-FORM-FUNCTION FUNCTION-TYPE-FUNCTION NAME-FUNCTION INLINE
Package

template-function

Source

template-function.lisp (file)

Function: find-template-function NAME &optional ERRORP
Package

template-function

Source

template-function.lisp (file)

Function: keyword-parameter-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: optional-parameter-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: others-parameter-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parameterp OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parse-lambda-list AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: required-parameter-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: rest-parameter-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: whole-parameter-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)


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

6.1.3 Generic functions

Generic Function: add-instantiation TEMPLATE-FUNCTION INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: add-instantiation (TEMPLATE-FUNCTION template-function) (INSTANTIATION instantiation)
Generic Function: all-parameters PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: all-parameters (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: allow-other-keywords-p PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: allow-other-keywords-p (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: apply-template-function TEMPLATE-FUNCTION &rest ARGUMENTS
Package

template-function

Source

template-function.lisp (file)

Methods
Method: apply-template-function (TEMPLATE-FUNCTION template-function) &rest ARGS
Generic Function: complete-argument-specification TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: complete-argument-specification (TEMPLATE-FUNCTION template-function) ARGUMENT-SPECIFICATION
Generic Function: complete-argument-specification* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: complete-argument-specification* (TEMPLATE-FUNCTION template-function) &rest ARGUMENT-SPECIFICATION
Generic Function: compute-function-type TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-function-type (NAME symbol) ARGUMENT-SPECIFICATION
Method: compute-function-type (TEMPLATE-FUNCTION template-function) ARGUMENT-SPECIFICATION
Generic Function: compute-function-type* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-function-type* (NAME symbol) &rest ARGUMENT-SPECIFICATION
Method: compute-function-type* (TEMPLATE-FUNCTION template-function) &rest ARGUMENT-SPECIFICATION
Generic Function: compute-lambda-form TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-lambda-form (TEMPLATE-FUNCTION template-function) ARGUMENT-SPECIFICATION
Generic Function: compute-lambda-form* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-lambda-form* (TEMPLATE-FUNCTION template-function) &rest ARGUMENT-SPECIFICATION
Generic Function: compute-name TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-name (NAME symbol) ARGUMENT-SPECIFICATION
Method: compute-name (TEMPLATE-FUNCTION template-function) ARGUMENT-SPECIFICATION
Generic Function: compute-name* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-name* (NAME symbol) &rest ARGUMENT-SPECIFICATION
Method: compute-name* (TEMPLATE-FUNCTION template-function) &rest ARGUMENT-SPECIFICATION
Generic Function: define-template-using-object TEMPLATE-CLASS &key NAME LAMBDA-LIST ENVIRONMENT LAMBDA-FORM-FUNCTION FUNCTION-TYPE-FUNCTION NAME-FUNCTION INLINE
Package

template-function

Source

template-function.lisp (file)

Methods
Method: define-template-using-object (CLASS template-function-class) &key NAME LAMBDA-LIST ENVIRONMENT LAMBDA-FORM-FUNCTION FUNCTION-TYPE-FUNCTION NAME-FUNCTION INLINE
Generic Function: duplicate-variable-error-variable CONDITION
Package

template-function.argument-specification

Methods
Method: duplicate-variable-error-variable (CONDITION duplicate-variable-error)
Source

argument-specification.lisp (file)

Generic Function: ensure-instantiation TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: ensure-instantiation (NAME symbol) ARGUMENT-SPECIFICATION
Method: ensure-instantiation (TEMPLATE-FUNCTION template-function) ARGUMENT-SPECIFICATION
Generic Function: ensure-instantiation* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: ensure-instantiation* (TEMPLATE-FUNCTION template-function) &rest ARGUMENT-SPECIFICATION
Method: ensure-instantiation* (NAME symbol) &rest ARGUMENT-SPECIFICATION
Generic Function: expand-template-function TEMPLATE-FUNCTION FORM &optional ENVIRONMENT
Package

template-function

Source

template-function.lisp (file)

Methods
Method: expand-template-function (TEMPLATE-FUNCTION template-function) FORM &optional ENVIRONMENT
Generic Function: find-instantiation TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Generic Function: find-instantiation* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Generic Function: funcall-template-function TEMPLATE-FUNCTION &rest ARGUMENTS
Package

template-function

Source

template-function.lisp (file)

Methods
Method: funcall-template-function (TEMPLATE-FUNCTION template-function) &rest ARGS
Generic Function: inlinep TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: inlinep (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: instantiation-argument-specification INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: instantiation-argument-specification (INSTANTIATION instantiation)

automatically generated reader method

Generic Function: instantiation-function-type INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: instantiation-function-type (INSTANTIATION instantiation)

automatically generated reader method

Generic Function: instantiation-lambda-form INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: instantiation-lambda-form (INSTANTIATION instantiation)

automatically generated reader method

Generic Function: instantiation-name INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: instantiation-name (INSTANTIATION instantiation)

automatically generated reader method

Generic Function: instantiations TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: instantiations (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: keyword-parameters PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: keyword-parameters (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: keyword-parameters-p PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: keyword-parameters-p (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: lambda-list TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: lambda-list (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: make-template-function-unbound TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: make-template-function-unbound (NAME symbol)
Method: make-template-function-unbound (TEMPLATE-FUNCTION template-function)
Generic Function: name TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: name (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: optional-parameters PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: optional-parameters (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: others-parameter PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: others-parameter (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: parameter-init-form PARAMETER
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: parameter-init-form (KEYWORD-PARAMETER keyword-parameter)

automatically generated reader method

Method: parameter-init-form (OPTIONAL-PARAMETER optional-parameter)

automatically generated reader method

Generic Function: parameter-keyword PARAMETER
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: parameter-keyword (KEYWORD-PARAMETER keyword-parameter)

automatically generated reader method

Generic Function: parameter-var OBJECT
Package

template-function.argument-specification

Methods
Method: parameter-var (PARAMETER parameter)

automatically generated reader method

Source

argument-specification.lisp (file)

Generic Function: parameter-varp PARAMETER
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: parameter-varp (KEYWORD-PARAMETER keyword-parameter)

automatically generated reader method

Method: parameter-varp (OPTIONAL-PARAMETER optional-parameter)

automatically generated reader method

Generic Function: parse-lambda-list-error-lambda-list CONDITION
Package

template-function.argument-specification

Methods
Method: parse-lambda-list-error-lambda-list (CONDITION parse-lambda-list-error)
Source

argument-specification.lisp (file)

Generic Function: parse-lambda-list-error-message CONDITION
Package

template-function.argument-specification

Methods
Method: parse-lambda-list-error-message (CONDITION parse-lambda-list-error)
Source

argument-specification.lisp (file)

Generic Function: remove-instantiation TEMPLATE-FUNCTION INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: remove-instantiation (TEMPLATE-FUNCTION template-function) (INSTANTIATION instantiation)
Generic Function: required-parameters PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: required-parameters (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: rest-parameter PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: rest-parameter (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: whole-parameter PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: whole-parameter (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method


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

6.1.4 Conditions

Condition: argument-specification-lambda-error ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: as-lambda-list
Initargs

:as-lambda-list

Readers

argument-specification-lambda-error-as-lambda-list (generic function)

Slot: arg-spec
Initargs

:argument-specification

Readers

argument-specification-lambda-error-argument-specification (generic function)

Slot: message
Initargs

:message

Readers

argument-specification-lambda-error-message (generic function)

Condition: duplicate-variable-error ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parse-lambda-list-error (condition)

Direct methods

duplicate-variable-error-variable (method)

Direct slots
Slot: variable
Initargs

:variable

Readers

duplicate-variable-error-variable (generic function)

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

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

error (condition)

Direct subclasses

duplicate-variable-error (condition)

Direct methods
Direct slots
Slot: lambda-list
Initargs

:lambda-list

Readers

parse-lambda-list-error-lambda-list (generic function)

Slot: message
Initargs

:message

Readers

parse-lambda-list-error-message (generic function)


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

6.1.5 Classes

Class: instantiation ()
Package

template-function

Source

template-function.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: %argument-specification
Initargs

:argument-specification

Readers

instantiation-argument-specification (generic function)

Slot: %lambda-form
Initargs

:lambda-form

Readers

instantiation-lambda-form (generic function)

Slot: %function-type
Initargs

:function-type

Readers

instantiation-function-type (generic function)

Slot: %name
Initargs

:name

Readers

instantiation-name (generic function)

Slot: %function
Initargs

:function

Readers

instantiation-function (generic function)

Slot: %template-function
Initargs

:template-function

Readers

instantiation-template-function (generic function)

Class: keyword-parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parameter (class)

Direct methods
Direct slots
Slot: %keyword
Initargs

:keyword

Readers

parameter-keyword (generic function)

Slot: %init-form
Initargs

:init-form

Readers

parameter-init-form (generic function)

Slot: %varp
Type

(or template-function.argument-specification::variable-name null)

Initargs

:varp

Readers

parameter-varp (generic function)

Class: lambda-list-parameters ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: %lambda-list
Initargs

:lambda-list

Readers

lambda-list (generic function)

Slot: %all-parameters
Initargs

:all-parameters

Readers

all-parameters (generic function)

Slot: %whole-parameter
Initargs

:whole-parameter

Readers

whole-parameter (generic function)

Slot: %required-parameters
Initargs

:required-parameters

Readers

required-parameters (generic function)

Slot: %optional-parameters
Initargs

:optional-parameters

Readers

optional-parameters (generic function)

Slot: %others-parameter
Initargs

:others-parameter

Readers

others-parameter (generic function)

Slot: %rest-parameter
Initargs

:rest-parameter

Readers

rest-parameter (generic function)

Slot: %keyword-parameters
Initargs

:keyword-parameters

Readers

keyword-parameters (generic function)

Slot: %keyword-parameters-p
Initargs

:keyword-parameters-p

Readers

keyword-parameters-p (generic function)

Slot: %allow-other-keywords-p
Initargs

:allow-other-keywords

Readers

allow-other-keywords-p (generic function)

Class: optional-parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parameter (class)

Direct methods
Direct slots
Slot: %init-form
Initargs

:init-form

Readers

parameter-init-form (generic function)

Slot: %varp
Type

(or template-function.argument-specification::variable-name null)

Initargs

:varp

Readers

parameter-varp (generic function)

Class: others-parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parameter (class)

Class: parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: %var
Type

template-function.argument-specification::variable-name

Initargs

:var

Readers

parameter-var (generic function)

Class: required-parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parameter (class)

Class: rest-parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parameter (class)

Class: template-function ()
Package

template-function

Source

template-function.lisp (file)

Direct superclasses

funcallable-standard-object (class)

Direct methods
Direct slots
Slot: %name
Initargs

:name

Readers

name (generic function)

Slot: %lambda-list
Initargs

:lambda-list

Readers

lambda-list (generic function)

Slot: %lambda-form-function
Initargs

:lambda-form-function

Readers

lambda-form-function (generic function)

Slot: %function-type-function
Initargs

:function-type-function

Readers

function-type-function (generic function)

Slot: %name-function
Initargs

:name-function

Readers

name-function (generic function)

Slot: %specialization-lambda-list-function
Initargs

:specialization-lambda-list-function

Readers

specialization-lambda-list-function (generic function)

Slot: %store
Initargs

:store

Readers

store (generic function)

Slot: %store-parameters
Initargs

:store-parameters

Readers

store-parameters (generic function)

Slot: %argument-specification-parameters
Initargs

:argument-specification-parameters

Readers

argument-specification-parameters (generic function)

Slot: %inlinep
Initargs

:inline

Readers

inlinep (generic function)

Slot: %instantiations
Initargs

:instantiations

Readers

instantiations (generic function)

Direct Default Initargs
InitargValue
:inlinenil
:instantiationsnil
Class: template-function-class ()
Package

template-function

Source

template-function.lisp (file)

Direct superclasses

funcallable-standard-class (class)

Direct methods
Class: whole-parameter ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Direct superclasses

parameter (class)


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

6.2 Internal definitions


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

6.2.1 Special variables

Special Variable: *instantiating*
Package

template-function

Source

template-function.lisp (file)

Special Variable: *next-name-integer*
Package

template-function

Source

name-mangling.lisp (file)

Special Variable: *processed*
Package

template-function

Source

template-function.lisp (file)

Special Variable: *records*
Package

template-function

Source

template-function.lisp (file)

Special Variable: *type-name-pairs*

A list of (type . name) pairs.

Package

template-function

Source

name-mangling.lisp (file)


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

6.2.2 Macros

Macro: define-type-name-pairs &body PAIRS
Package

template-function

Source

name-mangling.lisp (file)


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

6.2.3 Functions

Function: %asl/check-keys ARG-SPEC MIN-COUNT MAX-COUNT AS-LAMBDA-LIST KEYWORDS STORAGE ALLOW-OTHER-KEYS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %asl/check-positional ARG-SPEC MIN-COUNT MAX-COUNT AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %asl/check-rest-and-others ARG-SPEC MIN-COUNT MAX-COUNT AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %ensure-instantiation TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Function: %ensure-instantiations REQUESTS
Package

template-function

Source

template-function.lisp (file)

Function: %install-instantiation TEMPLATE-FUNCTION-NAME ARGUMENT-SPECIFICATION LAMBDA-FORM FUNCTION-TYPE NAME FUNCTION
Package

template-function

Source

template-function.lisp (file)

Function: %signal-no-others-and-rest-error AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %signal-others-and-keys-error AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %signal-others-and-no-rest-error AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %signal-pas-error AS-LAMBDA-LIST FORMAT-CONTROL &rest FORMAT-ARGUMENTS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %signal-pas-invalid-keyword-error KEYWORD AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: %signal-pas-syntax-error OBJECT AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: add-type-name-pair TYPE NAME &key IMPLEMENTATION-SPECIFIC VALUE
Package

template-function

Source

name-mangling.lisp (file)

Function: argument-specification-equal ARGSPEC-A ARGSPEC-B
Package

template-function

Source

template-function.lisp (file)

Function: argument-specification-to-argument-types ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Function: argument-types-to-argument-specification POSITIONAL-COUNT ARGUMENTS
Package

template-function

Source

template-function.lisp (file)

Function: check-duplicate-variables PARAMETERS LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: clear-type-name-pairs ()
Package

template-function

Source

name-mangling.lisp (file)

Function: copy-record INSTANCE
Package

template-function

Source

template-function.lisp (file)

Function: ensure-type-name TYPE
Package

template-function

Source

name-mangling.lisp (file)

Function: find-type-name-pair-with-name NAME
Package

template-function

Source

name-mangling.lisp (file)

Function: find-type-name-pair-with-type TYPE
Package

template-function

Source

name-mangling.lisp (file)

Function: generate-type-name ()
Package

template-function

Source

name-mangling.lisp (file)

Function: instantiatingp ()
Package

template-function

Source

template-function.lisp (file)

Function: keyword-name-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: make-instantiation &key ARGUMENT-SPECIFICATION LAMBDA-FORM FUNCTION-TYPE NAME FUNCTION TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Function: make-keyword-parameter VAR &optional INIT-FORM VARP KEYWORD
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: make-name-function PREFIX PARAMETERS
Package

template-function

Source

template-function.lisp (file)

Function: make-name-lambda-form PREFIX PARAMETERS
Package

template-function

Source

template-function.lisp (file)

Function: make-optional-parameter VAR &optional INIT-FORM VARP
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: make-others-parameter VAR
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: make-record &key (TEMPLATE-FUNCTION TEMPLATE-FUNCTION) (ARGUMENT-SPECIFICATION ARGUMENT-SPECIFICATION)
Package

template-function

Source

template-function.lisp (file)

Function: make-required-parameter VAR
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: make-rest-parameter VAR
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: make-specialization-lambda-list-function PARAMETERS
Package

template-function

Source

template-function.lisp (file)

Function: make-specialization-lambda-list-lambda-form PARAMETERS
Package

template-function

Source

template-function.lisp (file)

Function: make-whole-parameter VAR
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: name-for-types PREFIX &rest TYPES
Package

template-function

Source

name-mangling.lisp (file)

Function: note-template-function TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Function: order-types-by-decreasing-specificity TYPES &key KEY
Package

template-function

Source

name-mangling.lisp (file)

Function: parse-argument-specification ARGSPEC
Package

template-function

Source

template-function.lisp (file)

Function: parse-lambda-list/keys AS-LAMBDA-LIST FULL-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parse-lambda-list/optional AS-LAMBDA-LIST LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parse-lambda-list/others AS-LAMBDA-LIST LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parse-lambda-list/required AS-LAMBDA-LIST LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parse-lambda-list/rest AS-LAMBDA-LIST LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: parse-lambda-list/whole AS-LAMBDA-LIST LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: processed-record-p RECORD
Package

template-function

Source

template-function.lisp (file)

Function: processed-template-function-p TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Function: record-argument-specification INSTANCE
Function: (setf record-argument-specification) VALUE INSTANCE
Package

template-function

Source

template-function.lisp (file)

Function: record-p OBJECT
Package

template-function

Source

template-function.lisp (file)

Function: record-template-function INSTANCE
Function: (setf record-template-function) VALUE INSTANCE
Package

template-function

Source

template-function.lisp (file)

Function: signal-argument-specification-lambda-error ARG-SPEC AS-LAMBDA-LIST FORMAT-CONTROL &rest FORMAT-ARGUMENTS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: signal-duplicate-variable-error VARIABLE LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: signal-invalid-argument-specification-error ARG-SPEC AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: signal-invalid-function-type-error FUNCTION-TYPE STORE-LAMBDA-LIST
Package

template-function

Source

template-function.lisp (file)

Function: signal-malformed-argument-specification-error ARG-SPEC AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: signal-parse-lambda-list-error AS-LAMBDA-LIST FORMAT-CONTROL &rest FORMAT-ARGUMENTS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: signal-too-few-required-values-error ARG-SPEC AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: signal-too-many-required-values-error ARG-SPEC AS-LAMBDA-LIST
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Function: store-parameters-as-arg-spec-lambda-list PARAMETERS
Package

template-function

Source

template-function.lisp (file)

Function: store-parameters-as-arg-spec-parameters PARAMETERS
Package

template-function

Source

template-function.lisp (file)

Function: type-name-pair-name PAIR
Function: (setf type-name-pair-name) VALUE PAIR
Package

template-function

Source

name-mangling.lisp (file)

Function: type-name-pair-type PAIR
Package

template-function

Source

name-mangling.lisp (file)

Function: variable-name-p OBJECT
Package

template-function.argument-specification

Source

argument-specification.lisp (file)


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

6.2.4 Generic functions

Generic Function: argument-specification-lambda-error-argument-specification CONDITION
Package

template-function.argument-specification

Methods
Method: argument-specification-lambda-error-argument-specification (CONDITION argument-specification-lambda-error)
Source

argument-specification.lisp (file)

Generic Function: argument-specification-lambda-error-as-lambda-list CONDITION
Package

template-function.argument-specification

Methods
Method: argument-specification-lambda-error-as-lambda-list (CONDITION argument-specification-lambda-error)
Source

argument-specification.lisp (file)

Generic Function: argument-specification-lambda-error-message CONDITION
Package

template-function.argument-specification

Methods
Method: argument-specification-lambda-error-message (CONDITION argument-specification-lambda-error)
Source

argument-specification.lisp (file)

Generic Function: argument-specification-parameters TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: argument-specification-parameters (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: compute-form-argument-specification TEMPLATE-FUNCTION FORM &optional ENVIRONMENT
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-form-argument-specification (TEMPLATE-FUNCTION template-function) FORM &optional ENVIRONMENT
Method: compute-form-argument-specification (PARAMETERS parameters) FORM &optional ENVIRONMENT
Generic Function: compute-specialization-lambda-list TEMPLATE-FUNCTION ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-specialization-lambda-list (TEMPLATE-FUNCTION template-function) ARGUMENT-SPECIFICATION
Generic Function: compute-specialization-lambda-list* TEMPLATE-FUNCTION &rest ARGUMENT-SPECIFICATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: compute-specialization-lambda-list* (TEMPLATE-FUNCTION template-function) &rest ARGUMENT-SPECIFICATION
Generic Function: function-type-function TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: function-type-function (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: instantiation-expand-function INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Generic Function: instantiation-function INSTANTIATION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: instantiation-function (INSTANTIATION instantiation)

automatically generated reader method

Generic Function: instantiation-template-function OBJECT
Package

template-function

Methods
Method: instantiation-template-function (INSTANTIATION instantiation)

automatically generated reader method

Source

template-function.lisp (file)

Generic Function: invalid-function-type-error-function-type CONDITION
Package

template-function

Methods
Method: invalid-function-type-error-function-type (CONDITION invalid-function-type-error)
Source

template-function.lisp (file)

Generic Function: invalid-function-type-error-store-lambda-list CONDITION
Package

template-function

Methods
Method: invalid-function-type-error-store-lambda-list (CONDITION invalid-function-type-error)
Source

template-function.lisp (file)

Generic Function: lambda-form-function TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: lambda-form-function (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: lambda-list PARAMETERS
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Methods
Method: lambda-list (LAMBDA-LIST-PARAMETERS lambda-list-parameters)

automatically generated reader method

Generic Function: name-function TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: name-function (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: paramater-var PARAMETER
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Generic Function: specialization-lambda-list-function TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: specialization-lambda-list-function (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: store TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: store (TEMPLATE-FUNCTION template-function)

automatically generated reader method

Generic Function: store-parameters TEMPLATE-FUNCTION
Package

template-function

Source

template-function.lisp (file)

Methods
Method: store-parameters (TEMPLATE-FUNCTION template-function)

automatically generated reader method


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

6.2.5 Conditions

Condition: invalid-function-type-error ()
Package

template-function

Source

template-function.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: %function-type
Initargs

:function-type

Readers

invalid-function-type-error-function-type (generic function)

Slot: %store-lambda-list
Initargs

:store-lambda-list

Readers

invalid-function-type-error-store-lambda-list (generic function)


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

6.2.6 Structures

Structure: record ()
Package

template-function

Source

template-function.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: template-function
Readers

record-template-function (function)

Writers

(setf record-template-function) (function)

Slot: argument-specification
Readers

record-argument-specification (function)

Writers

(setf record-argument-specification) (function)


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

6.2.7 Types

Type: keyword-name ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)

Type: variable-name ()
Package

template-function.argument-specification

Source

argument-specification.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   M   T  
Index Entry  Section

F
File, Lisp, template-function.asd: The template-function<dot>asd file
File, Lisp, template-function/src/argument-specification.lisp: The template-function/src/argument-specification<dot>lisp file
File, Lisp, template-function/src/name-mangling-definitions.lisp: The template-function/src/name-mangling-definitions<dot>lisp file
File, Lisp, template-function/src/name-mangling.lisp: The template-function/src/name-mangling<dot>lisp file
File, Lisp, template-function/src/packages.lisp: The template-function/src/packages<dot>lisp file
File, Lisp, template-function/src/template-function.lisp: The template-function/src/template-function<dot>lisp file

L
Lisp File, template-function.asd: The template-function<dot>asd file
Lisp File, template-function/src/argument-specification.lisp: The template-function/src/argument-specification<dot>lisp file
Lisp File, template-function/src/name-mangling-definitions.lisp: The template-function/src/name-mangling-definitions<dot>lisp file
Lisp File, template-function/src/name-mangling.lisp: The template-function/src/name-mangling<dot>lisp file
Lisp File, template-function/src/packages.lisp: The template-function/src/packages<dot>lisp file
Lisp File, template-function/src/template-function.lisp: The template-function/src/template-function<dot>lisp file

M
Module, template-function/src: The template-function/src module

T
template-function.asd: The template-function<dot>asd file
template-function/src: The template-function/src module
template-function/src/argument-specification.lisp: The template-function/src/argument-specification<dot>lisp file
template-function/src/name-mangling-definitions.lisp: The template-function/src/name-mangling-definitions<dot>lisp file
template-function/src/name-mangling.lisp: The template-function/src/name-mangling<dot>lisp file
template-function/src/packages.lisp: The template-function/src/packages<dot>lisp file
template-function/src/template-function.lisp: The template-function/src/template-function<dot>lisp file

Jump to:   F   L   M   T  

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

A.2 Functions

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

%
%asl/check-keys: Internal functions
%asl/check-positional: Internal functions
%asl/check-rest-and-others: Internal functions
%ensure-instantiation: Internal functions
%ensure-instantiations: Internal functions
%install-instantiation: Internal functions
%signal-no-others-and-rest-error: Internal functions
%signal-others-and-keys-error: Internal functions
%signal-others-and-no-rest-error: Internal functions
%signal-pas-error: Internal functions
%signal-pas-invalid-keyword-error: Internal functions
%signal-pas-syntax-error: Internal functions

(
(setf record-argument-specification): Internal functions
(setf record-template-function): Internal functions
(setf type-name-pair-name): Internal functions

A
add-instantiation: Exported generic functions
add-instantiation: Exported generic functions
add-type-name-pair: Internal functions
all-parameters: Exported generic functions
all-parameters: Exported generic functions
allow-other-keywords-p: Exported generic functions
allow-other-keywords-p: Exported generic functions
apply-template-function: Exported generic functions
apply-template-function: Exported generic functions
argument-specification-equal: Internal functions
argument-specification-lambda: Exported macros
argument-specification-lambda-error-argument-specification: Internal generic functions
argument-specification-lambda-error-argument-specification: Internal generic functions
argument-specification-lambda-error-as-lambda-list: Internal generic functions
argument-specification-lambda-error-as-lambda-list: Internal generic functions
argument-specification-lambda-error-message: Internal generic functions
argument-specification-lambda-error-message: Internal generic functions
argument-specification-parameters: Internal generic functions
argument-specification-parameters: Internal generic functions
argument-specification-to-argument-types: Internal functions
argument-types-to-argument-specification: Internal functions

C
check-duplicate-variables: Internal functions
clear-type-name-pairs: Internal functions
complete-argument-specification: Exported generic functions
complete-argument-specification: Exported generic functions
complete-argument-specification*: Exported generic functions
complete-argument-specification*: Exported generic functions
compute-form-argument-specification: Internal generic functions
compute-form-argument-specification: Internal generic functions
compute-form-argument-specification: Internal generic functions
compute-function-type: Exported generic functions
compute-function-type: Exported generic functions
compute-function-type: Exported generic functions
compute-function-type*: Exported generic functions
compute-function-type*: Exported generic functions
compute-function-type*: Exported generic functions
compute-lambda-form: Exported generic functions
compute-lambda-form: Exported generic functions
compute-lambda-form*: Exported generic functions
compute-lambda-form*: Exported generic functions
compute-name: Exported generic functions
compute-name: Exported generic functions
compute-name: Exported generic functions
compute-name*: Exported generic functions
compute-name*: Exported generic functions
compute-name*: Exported generic functions
compute-specialization-lambda-list: Internal generic functions
compute-specialization-lambda-list: Internal generic functions
compute-specialization-lambda-list*: Internal generic functions
compute-specialization-lambda-list*: Internal generic functions
copy-record: Internal functions

D
define-template: Exported macros
define-template-using-object: Exported generic functions
define-template-using-object: Exported generic functions
define-type-name-pairs: Internal macros
defun/argument-specification: Exported macros
destructuring-argument-specification: Exported macros
duplicate-variable-error-variable: Exported generic functions
duplicate-variable-error-variable: Exported generic functions

E
ensure-instantiation: Exported generic functions
ensure-instantiation: Exported generic functions
ensure-instantiation: Exported generic functions
ensure-instantiation*: Exported generic functions
ensure-instantiation*: Exported generic functions
ensure-instantiation*: Exported generic functions
ensure-template-function: Exported functions
ensure-type-name: Internal functions
expand-template-function: Exported generic functions
expand-template-function: Exported generic functions

F
find-instantiation: Exported generic functions
find-instantiation*: Exported generic functions
find-template-function: Exported functions
find-type-name-pair-with-name: Internal functions
find-type-name-pair-with-type: Internal functions
funcall-template-function: Exported generic functions
funcall-template-function: Exported generic functions
Function, %asl/check-keys: Internal functions
Function, %asl/check-positional: Internal functions
Function, %asl/check-rest-and-others: Internal functions
Function, %ensure-instantiation: Internal functions
Function, %ensure-instantiations: Internal functions
Function, %install-instantiation: Internal functions
Function, %signal-no-others-and-rest-error: Internal functions
Function, %signal-others-and-keys-error: Internal functions
Function, %signal-others-and-no-rest-error: Internal functions
Function, %signal-pas-error: Internal functions
Function, %signal-pas-invalid-keyword-error: Internal functions
Function, %signal-pas-syntax-error: Internal functions
Function, (setf record-argument-specification): Internal functions
Function, (setf record-template-function): Internal functions
Function, (setf type-name-pair-name): Internal functions
Function, add-type-name-pair: Internal functions
Function, argument-specification-equal: Internal functions
Function, argument-specification-to-argument-types: Internal functions
Function, argument-types-to-argument-specification: Internal functions
Function, check-duplicate-variables: Internal functions
Function, clear-type-name-pairs: Internal functions
Function, copy-record: Internal functions
Function, ensure-template-function: Exported functions
Function, ensure-type-name: Internal functions
Function, find-template-function: Exported functions
Function, find-type-name-pair-with-name: Internal functions
Function, find-type-name-pair-with-type: Internal functions
Function, generate-type-name: Internal functions
Function, instantiatingp: Internal functions
Function, keyword-name-p: Internal functions
Function, keyword-parameter-p: Exported functions
Function, make-instantiation: Internal functions
Function, make-keyword-parameter: Internal functions
Function, make-name-function: Internal functions
Function, make-name-lambda-form: Internal functions
Function, make-optional-parameter: Internal functions
Function, make-others-parameter: Internal functions
Function, make-record: Internal functions
Function, make-required-parameter: Internal functions
Function, make-rest-parameter: Internal functions
Function, make-specialization-lambda-list-function: Internal functions
Function, make-specialization-lambda-list-lambda-form: Internal functions
Function, make-whole-parameter: Internal functions
Function, name-for-types: Internal functions
Function, note-template-function: Internal functions
Function, optional-parameter-p: Exported functions
Function, order-types-by-decreasing-specificity: Internal functions
Function, others-parameter-p: Exported functions
Function, parameterp: Exported functions
Function, parse-argument-specification: Internal functions
Function, parse-lambda-list: Exported functions
Function, parse-lambda-list/keys: Internal functions
Function, parse-lambda-list/optional: Internal functions
Function, parse-lambda-list/others: Internal functions
Function, parse-lambda-list/required: Internal functions
Function, parse-lambda-list/rest: Internal functions
Function, parse-lambda-list/whole: Internal functions
Function, processed-record-p: Internal functions
Function, processed-template-function-p: Internal functions
Function, record-argument-specification: Internal functions
Function, record-p: Internal functions
Function, record-template-function: Internal functions
Function, required-parameter-p: Exported functions
Function, rest-parameter-p: Exported functions
Function, signal-argument-specification-lambda-error: Internal functions
Function, signal-duplicate-variable-error: Internal functions
Function, signal-invalid-argument-specification-error: Internal functions
Function, signal-invalid-function-type-error: Internal functions
Function, signal-malformed-argument-specification-error: Internal functions
Function, signal-parse-lambda-list-error: Internal functions
Function, signal-too-few-required-values-error: Internal functions
Function, signal-too-many-required-values-error: Internal functions
Function, store-parameters-as-arg-spec-lambda-list: Internal functions
Function, store-parameters-as-arg-spec-parameters: Internal functions
Function, type-name-pair-name: Internal functions
Function, type-name-pair-type: Internal functions
Function, variable-name-p: Internal functions
Function, whole-parameter-p: Exported functions
function-type-function: Internal generic functions
function-type-function: Internal generic functions

G
generate-type-name: Internal functions
Generic Function, add-instantiation: Exported generic functions
Generic Function, all-parameters: Exported generic functions
Generic Function, allow-other-keywords-p: Exported generic functions
Generic Function, apply-template-function: Exported generic functions
Generic Function, argument-specification-lambda-error-argument-specification: Internal generic functions
Generic Function, argument-specification-lambda-error-as-lambda-list: Internal generic functions
Generic Function, argument-specification-lambda-error-message: Internal generic functions
Generic Function, argument-specification-parameters: Internal generic functions
Generic Function, complete-argument-specification: Exported generic functions
Generic Function, complete-argument-specification*: Exported generic functions
Generic Function, compute-form-argument-specification: Internal generic functions
Generic Function, compute-function-type: Exported generic functions
Generic Function, compute-function-type*: Exported generic functions
Generic Function, compute-lambda-form: Exported generic functions
Generic Function, compute-lambda-form*: Exported generic functions
Generic Function, compute-name: Exported generic functions
Generic Function, compute-name*: Exported generic functions
Generic Function, compute-specialization-lambda-list: Internal generic functions
Generic Function, compute-specialization-lambda-list*: Internal generic functions
Generic Function, define-template-using-object: Exported generic functions
Generic Function, duplicate-variable-error-variable: Exported generic functions
Generic Function, ensure-instantiation: Exported generic functions
Generic Function, ensure-instantiation*: Exported generic functions
Generic Function, expand-template-function: Exported generic functions
Generic Function, find-instantiation: Exported generic functions
Generic Function, find-instantiation*: Exported generic functions
Generic Function, funcall-template-function: Exported generic functions
Generic Function, function-type-function: Internal generic functions
Generic Function, inlinep: Exported generic functions
Generic Function, instantiation-argument-specification: Exported generic functions
Generic Function, instantiation-expand-function: Internal generic functions
Generic Function, instantiation-function: Internal generic functions
Generic Function, instantiation-function-type: Exported generic functions
Generic Function, instantiation-lambda-form: Exported generic functions
Generic Function, instantiation-name: Exported generic functions
Generic Function, instantiation-template-function: Internal generic functions
Generic Function, instantiations: Exported generic functions
Generic Function, invalid-function-type-error-function-type: Internal generic functions
Generic Function, invalid-function-type-error-store-lambda-list: Internal generic functions
Generic Function, keyword-parameters: Exported generic functions
Generic Function, keyword-parameters-p: Exported generic functions
Generic Function, lambda-form-function: Internal generic functions
Generic Function, lambda-list: Exported generic functions
Generic Function, lambda-list: Internal generic functions
Generic Function, make-template-function-unbound: Exported generic functions
Generic Function, name: Exported generic functions
Generic Function, name-function: Internal generic functions
Generic Function, optional-parameters: Exported generic functions
Generic Function, others-parameter: Exported generic functions
Generic Function, paramater-var: Internal generic functions
Generic Function, parameter-init-form: Exported generic functions
Generic Function, parameter-keyword: Exported generic functions
Generic Function, parameter-var: Exported generic functions
Generic Function, parameter-varp: Exported generic functions
Generic Function, parse-lambda-list-error-lambda-list: Exported generic functions
Generic Function, parse-lambda-list-error-message: Exported generic functions
Generic Function, remove-instantiation: Exported generic functions
Generic Function, required-parameters: Exported generic functions
Generic Function, rest-parameter: Exported generic functions
Generic Function, specialization-lambda-list-function: Internal generic functions
Generic Function, store: Internal generic functions
Generic Function, store-parameters: Internal generic functions
Generic Function, whole-parameter: Exported generic functions

I
inlinep: Exported generic functions
inlinep: Exported generic functions
instantiatingp: Internal functions
instantiation-argument-specification: Exported generic functions
instantiation-argument-specification: Exported generic functions
instantiation-expand-function: Internal generic functions
instantiation-function: Internal generic functions
instantiation-function: Internal generic functions
instantiation-function-type: Exported generic functions
instantiation-function-type: Exported generic functions
instantiation-lambda-form: Exported generic functions
instantiation-lambda-form: Exported generic functions
instantiation-name: Exported generic functions
instantiation-name: Exported generic functions
instantiation-template-function: Internal generic functions
instantiation-template-function: Internal generic functions
instantiations: Exported generic functions
instantiations: Exported generic functions
invalid-function-type-error-function-type: Internal generic functions
invalid-function-type-error-function-type: Internal generic functions
invalid-function-type-error-store-lambda-list: Internal generic functions
invalid-function-type-error-store-lambda-list: Internal generic functions

K
keyword-name-p: Internal functions
keyword-parameter-p: Exported functions
keyword-parameters: Exported generic functions
keyword-parameters: Exported generic functions
keyword-parameters-p: Exported generic functions
keyword-parameters-p: Exported generic functions

L
lambda-form-function: Internal generic functions
lambda-form-function: Internal generic functions
lambda-list: Exported generic functions
lambda-list: Exported generic functions
lambda-list: Internal generic functions
lambda-list: Internal generic functions

M
Macro, argument-specification-lambda: Exported macros
Macro, define-template: Exported macros
Macro, define-type-name-pairs: Internal macros
Macro, defun/argument-specification: Exported macros
Macro, destructuring-argument-specification: Exported macros
Macro, named-argument-specification-lambda: Exported macros
Macro, require-instantiation: Exported macros
Macro, require-instantiations: Exported macros
make-instantiation: Internal functions
make-keyword-parameter: Internal functions
make-name-function: Internal functions
make-name-lambda-form: Internal functions
make-optional-parameter: Internal functions
make-others-parameter: Internal functions
make-record: Internal functions
make-required-parameter: Internal functions
make-rest-parameter: Internal functions
make-specialization-lambda-list-function: Internal functions
make-specialization-lambda-list-lambda-form: Internal functions
make-template-function-unbound: Exported generic functions
make-template-function-unbound: Exported generic functions
make-template-function-unbound: Exported generic functions
make-whole-parameter: Internal functions
Method, add-instantiation: Exported generic functions
Method, all-parameters: Exported generic functions
Method, allow-other-keywords-p: Exported generic functions
Method, apply-template-function: Exported generic functions
Method, argument-specification-lambda-error-argument-specification: Internal generic functions
Method, argument-specification-lambda-error-as-lambda-list: Internal generic functions
Method, argument-specification-lambda-error-message: Internal generic functions
Method, argument-specification-parameters: Internal generic functions
Method, complete-argument-specification: Exported generic functions
Method, complete-argument-specification*: Exported generic functions
Method, compute-form-argument-specification: Internal generic functions
Method, compute-form-argument-specification: Internal generic functions
Method, compute-function-type: Exported generic functions
Method, compute-function-type: Exported generic functions
Method, compute-function-type*: Exported generic functions
Method, compute-function-type*: Exported generic functions
Method, compute-lambda-form: Exported generic functions
Method, compute-lambda-form*: Exported generic functions
Method, compute-name: Exported generic functions
Method, compute-name: Exported generic functions
Method, compute-name*: Exported generic functions
Method, compute-name*: Exported generic functions
Method, compute-specialization-lambda-list: Internal generic functions
Method, compute-specialization-lambda-list*: Internal generic functions
Method, define-template-using-object: Exported generic functions
Method, duplicate-variable-error-variable: Exported generic functions
Method, ensure-instantiation: Exported generic functions
Method, ensure-instantiation: Exported generic functions
Method, ensure-instantiation*: Exported generic functions
Method, ensure-instantiation*: Exported generic functions
Method, expand-template-function: Exported generic functions
Method, funcall-template-function: Exported generic functions
Method, function-type-function: Internal generic functions
Method, inlinep: Exported generic functions
Method, instantiation-argument-specification: Exported generic functions
Method, instantiation-function: Internal generic functions
Method, instantiation-function-type: Exported generic functions
Method, instantiation-lambda-form: Exported generic functions
Method, instantiation-name: Exported generic functions
Method, instantiation-template-function: Internal generic functions
Method, instantiations: Exported generic functions
Method, invalid-function-type-error-function-type: Internal generic functions
Method, invalid-function-type-error-store-lambda-list: Internal generic functions
Method, keyword-parameters: Exported generic functions
Method, keyword-parameters-p: Exported generic functions
Method, lambda-form-function: Internal generic functions
Method, lambda-list: Exported generic functions
Method, lambda-list: Internal generic functions
Method, make-template-function-unbound: Exported generic functions
Method, make-template-function-unbound: Exported generic functions
Method, name: Exported generic functions
Method, name-function: Internal generic functions
Method, optional-parameters: Exported generic functions
Method, others-parameter: Exported generic functions
Method, parameter-init-form: Exported generic functions
Method, parameter-init-form: Exported generic functions
Method, parameter-keyword: Exported generic functions
Method, parameter-var: Exported generic functions
Method, parameter-varp: Exported generic functions
Method, parameter-varp: Exported generic functions
Method, parse-lambda-list-error-lambda-list: Exported generic functions
Method, parse-lambda-list-error-message: Exported generic functions
Method, remove-instantiation: Exported generic functions
Method, required-parameters: Exported generic functions
Method, rest-parameter: Exported generic functions
Method, specialization-lambda-list-function: Internal generic functions
Method, store: Internal generic functions
Method, store-parameters: Internal generic functions
Method, whole-parameter: Exported generic functions

N
name: Exported generic functions
name: Exported generic functions
name-for-types: Internal functions
name-function: Internal generic functions
name-function: Internal generic functions
named-argument-specification-lambda: Exported macros
note-template-function: Internal functions

O
optional-parameter-p: Exported functions
optional-parameters: Exported generic functions
optional-parameters: Exported generic functions
order-types-by-decreasing-specificity: Internal functions
others-parameter: Exported generic functions
others-parameter: Exported generic functions
others-parameter-p: Exported functions

P
paramater-var: Internal generic functions
parameter-init-form: Exported generic functions
parameter-init-form: Exported generic functions
parameter-init-form: Exported generic functions
parameter-keyword: Exported generic functions
parameter-keyword: Exported generic functions
parameter-var: Exported generic functions
parameter-var: Exported generic functions
parameter-varp: Exported generic functions
parameter-varp: Exported generic functions
parameter-varp: Exported generic functions
parameterp: Exported functions
parse-argument-specification: Internal functions
parse-lambda-list: Exported functions
parse-lambda-list-error-lambda-list: Exported generic functions
parse-lambda-list-error-lambda-list: Exported generic functions
parse-lambda-list-error-message: Exported generic functions
parse-lambda-list-error-message: Exported generic functions
parse-lambda-list/keys: Internal functions
parse-lambda-list/optional: Internal functions
parse-lambda-list/others: Internal functions
parse-lambda-list/required: Internal functions
parse-lambda-list/rest: Internal functions
parse-lambda-list/whole: Internal functions
processed-record-p: Internal functions
processed-template-function-p: Internal functions

R
record-argument-specification: Internal functions
record-p: Internal functions
record-template-function: Internal functions
remove-instantiation: Exported generic functions
remove-instantiation: Exported generic functions
require-instantiation: Exported macros
require-instantiations: Exported macros
required-parameter-p: Exported functions
required-parameters: Exported generic functions
required-parameters: Exported generic functions
rest-parameter: Exported generic functions
rest-parameter: Exported generic functions
rest-parameter-p: Exported functions

S
signal-argument-specification-lambda-error: Internal functions
signal-duplicate-variable-error: Internal functions
signal-invalid-argument-specification-error: Internal functions
signal-invalid-function-type-error: Internal functions
signal-malformed-argument-specification-error: Internal functions
signal-parse-lambda-list-error: Internal functions
signal-too-few-required-values-error: Internal functions
signal-too-many-required-values-error: Internal functions
specialization-lambda-list-function: Internal generic functions
specialization-lambda-list-function: Internal generic functions
store: Internal generic functions
store: Internal generic functions
store-parameters: Internal generic functions
store-parameters: Internal generic functions
store-parameters-as-arg-spec-lambda-list: Internal functions
store-parameters-as-arg-spec-parameters: Internal functions

T
type-name-pair-name: Internal functions
type-name-pair-type: Internal functions

V
variable-name-p: Internal functions

W
whole-parameter: Exported generic functions
whole-parameter: Exported generic functions
whole-parameter-p: Exported functions

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

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

A.3 Variables

Jump to:   %   *  
A   L   M   S   T   V  
Index Entry  Section

%
%all-parameters: Exported classes
%allow-other-keywords-p: Exported classes
%argument-specification: Exported classes
%argument-specification-parameters: Exported classes
%function: Exported classes
%function-type: Exported classes
%function-type: Internal conditions
%function-type-function: Exported classes
%init-form: Exported classes
%init-form: Exported classes
%inlinep: Exported classes
%instantiations: Exported classes
%keyword: Exported classes
%keyword-parameters: Exported classes
%keyword-parameters-p: Exported classes
%lambda-form: Exported classes
%lambda-form-function: Exported classes
%lambda-list: Exported classes
%lambda-list: Exported classes
%name: Exported classes
%name: Exported classes
%name-function: Exported classes
%optional-parameters: Exported classes
%others-parameter: Exported classes
%required-parameters: Exported classes
%rest-parameter: Exported classes
%specialization-lambda-list-function: Exported classes
%store: Exported classes
%store-lambda-list: Internal conditions
%store-parameters: Exported classes
%template-function: Exported classes
%var: Exported classes
%varp: Exported classes
%varp: Exported classes
%whole-parameter: Exported classes

*
*instantiating*: Internal special variables
*next-name-integer*: Internal special variables
*processed*: Internal special variables
*records*: Internal special variables
*type-name-pairs*: Internal special variables

A
arg-spec: Exported conditions
argument-specification: Internal structures
as-lambda-list: Exported conditions

L
lambda-list: Exported conditions

M
message: Exported conditions
message: Exported conditions

S
Slot, %all-parameters: Exported classes
Slot, %allow-other-keywords-p: Exported classes
Slot, %argument-specification: Exported classes
Slot, %argument-specification-parameters: Exported classes
Slot, %function: Exported classes
Slot, %function-type: Exported classes
Slot, %function-type: Internal conditions
Slot, %function-type-function: Exported classes
Slot, %init-form: Exported classes
Slot, %init-form: Exported classes
Slot, %inlinep: Exported classes
Slot, %instantiations: Exported classes
Slot, %keyword: Exported classes
Slot, %keyword-parameters: Exported classes
Slot, %keyword-parameters-p: Exported classes
Slot, %lambda-form: Exported classes
Slot, %lambda-form-function: Exported classes
Slot, %lambda-list: Exported classes
Slot, %lambda-list: Exported classes
Slot, %name: Exported classes
Slot, %name: Exported classes
Slot, %name-function: Exported classes
Slot, %optional-parameters: Exported classes
Slot, %others-parameter: Exported classes
Slot, %required-parameters: Exported classes
Slot, %rest-parameter: Exported classes
Slot, %specialization-lambda-list-function: Exported classes
Slot, %store: Exported classes
Slot, %store-lambda-list: Internal conditions
Slot, %store-parameters: Exported classes
Slot, %template-function: Exported classes
Slot, %var: Exported classes
Slot, %varp: Exported classes
Slot, %varp: Exported classes
Slot, %whole-parameter: Exported classes
Slot, arg-spec: Exported conditions
Slot, argument-specification: Internal structures
Slot, as-lambda-list: Exported conditions
Slot, lambda-list: Exported conditions
Slot, message: Exported conditions
Slot, message: Exported conditions
Slot, template-function: Internal structures
Slot, variable: Exported conditions
Special Variable, *instantiating*: Internal special variables
Special Variable, *next-name-integer*: Internal special variables
Special Variable, *processed*: Internal special variables
Special Variable, *records*: Internal special variables
Special Variable, *type-name-pairs*: Internal special variables

T
template-function: Internal structures

V
variable: Exported conditions

Jump to:   %   *  
A   L   M   S   T   V  

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

A.4 Data types

Jump to:   A   C   D   I   K   L   O   P   R   S   T   V   W  
Index Entry  Section

A
argument-specification-lambda-error: Exported conditions

C
Class, instantiation: Exported classes
Class, keyword-parameter: Exported classes
Class, lambda-list-parameters: Exported classes
Class, optional-parameter: Exported classes
Class, others-parameter: Exported classes
Class, parameter: Exported classes
Class, required-parameter: Exported classes
Class, rest-parameter: Exported classes
Class, template-function: Exported classes
Class, template-function-class: Exported classes
Class, whole-parameter: Exported classes
Condition, argument-specification-lambda-error: Exported conditions
Condition, duplicate-variable-error: Exported conditions
Condition, invalid-function-type-error: Internal conditions
Condition, parse-lambda-list-error: Exported conditions

D
duplicate-variable-error: Exported conditions

I
instantiation: Exported classes
invalid-function-type-error: Internal conditions

K
keyword-name: Internal types
keyword-parameter: Exported classes

L
lambda-list-parameters: Exported classes

O
optional-parameter: Exported classes
others-parameter: Exported classes

P
Package, template-function: The template-function package
Package, template-function.argument-specification: The template-function<dot>argument-specification package
Package, template-function.names: The template-function<dot>names package
parameter: Exported classes
parse-lambda-list-error: Exported conditions

R
record: Internal structures
required-parameter: Exported classes
rest-parameter: Exported classes

S
Structure, record: Internal structures
System, template-function: The template-function system

T
template-function: The template-function system
template-function: The template-function package
template-function: Exported classes
template-function-class: Exported classes
template-function.argument-specification: The template-function<dot>argument-specification package
template-function.names: The template-function<dot>names package
Type, keyword-name: Internal types
Type, variable-name: Internal types

V
variable-name: Internal types

W
whole-parameter: Exported classes

Jump to:   A   C   D   I   K   L   O   P   R   S   T   V   W