The inner-conditional Reference Manual

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

The inner-conditional Reference Manual

This is the inner-conditional Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 04:53:01 2022 GMT+0.

Table of Contents


1 Introduction

* Inner-Conditional

+ Series of macros which help users optimize the conditional jumps in a inner loop
+ The interface is similar to the continuation, so I call it as `compile-time continuation’.
   Everything is implemented in compile-time so theres no performance drawbacks in run-time
+ Extensible syntaxes and helper macros for other implementers of libraries, especially for 
   the macro writers or the heavy lambda-lovers. Provides a standardized way to minimize the number of condition check

* Recent changes

+ It does not use =macrolet= and =symbol-macrolet= anymore, which means
  it can be used with =iterate= library. (2013/5/3)
+ This library is not well maintained now. Please (?) don't use it.
+ I think I will reerite it with [[https://github.com/guicho271828/recursive-macroexpansion][recursive-macroexpansion]].

* Basic Usage

The condition checking is done only once.
#+BEGIN_SRC LISP
(ql:quickload :iterate)
(use-package :iterate)

(defun test0 (flag)
  (with-inner (body)
    (iter (for i from 0 to 5)
          (print i)
          (inner (body)
            (if flag
                (body (princ "loop on"))
                (body (princ "loop off")))))))

INNER-CONDITIONAL-TEST> (test0 t)

0 loop on
1 loop on
2 loop on
3 loop on
4 loop on
5 loop on
#+END_SRC

* Concepts and API

Removing conditional jumps in loops are one of the easiest way to
optimize the loop. The number of checks should be minimized, and the
checking variables in a smaller loop may well be a large
bottleneck. Yet, some code would yield a bad-looking result of that
optimization, since the semantics of the code best fits the code which
has conditional jumps in a smaller loop. Luckily, Common Lisp has
macros, which provides the ability to walk on and modify the code
tree. So we can keep the code clean and at the same time get a
faster result.

For more details, see /Concepts and API/ (https://github.com/guicho271828/inner-conditional/blob/master/concepts-and-api.org)

* Use with your own library

If you write a macro which expands to a code which always checks a
certain dynamic variable then this library may help you write an
extension which minimizes the number of checks in the expanded code.

For more details, see /Use with your own library/ (https://github.com/guicho271828/inner-conditional/blob/master/use-with-your-own-library.org)

* Optimization Results

The effect of this library may seem trivial, but still I try to show
you an optimization results with trivial examples. Any other result
reports are welcome!  Because I don't came up with other
truly-performance-sensitive examples.

For more details, see /Optimization Results/ (https://github.com/guicho271828/inner-conditional/blob/master/opt-results.org)

* Misc

** Dependencies

This library is at least tested on implementation listed below:

+ SBCL 1.1.2 on X86-64 Linux  3.2.0-39-generic (author's environment)

Also, it depends on the following libraries:

+ ITERATE  ::
    Jonathan Amsterdam's iterator/gatherer/accumulator facility

+ ALEXANDRIA  ::
    Alexandria is a collection of portable public domain utilities.

+ CL-ANNOT by Tomohiro Matsuyama ::
    Python-like Annotation Syntax for Common Lisp

+ CL-SYNTAX by m2ym ::
    Reader Syntax Coventions for Common Lisp and SLIME

+ Optima by m2ym :: 
    Optimized Pattern Matching Library for Common Lisp
    
** Installation

+ First grab the code with =git clone git://github.com/guicho271828/inner-conditional.git=
+ Put it in your local-project folder
+ open slime REPL
+ =(ql:register-local-projects)=
+ =(ql:quickload :inner-conditional)= and the library will be
  installed along with the dependencies

** Author

+ Masataro Asai (guicho2.71828@gmail.com)

** Copyright

Copyright (c) 2013 Masataro Asai (guicho2.71828@gmail.com)

** License

Licensed under the LLGPL License.



2 Systems

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


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

2.1 inner-conditional

Series of macros which optimizes out the inner conditional jumping

Author

Masataro Asai

Contact

guicho2.71828@gmail.com

License

LLGPL

Version

0.1.0

Dependencies
  • iterate (system).
  • alexandria (system).
  • cl-syntax-annot (system).
  • trivia (system).
Source

inner-conditional.asd.

Child Components

3 Modules

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


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

3.1 inner-conditional/lib

Source

inner-conditional.asd.

Parent Component

inner-conditional (system).

Child Component

macroexpand-dammit.lisp (file).


3.2 inner-conditional/src

Dependency

lib (module).

Source

inner-conditional.asd.

Parent Component

inner-conditional (system).

Child Components

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


4.1.1 inner-conditional/inner-conditional.asd

Source

inner-conditional.asd.

Parent Component

inner-conditional (system).

ASDF Systems

inner-conditional.

Packages

inner-conditional-asd.


4.1.2 inner-conditional/lib/macroexpand-dammit.lisp

Source

inner-conditional.asd.

Parent Component

lib (module).

Packages

macroexpand-dammit-guicho.

Public Interface
Internals

4.1.3 inner-conditional/src/package.lisp

Source

inner-conditional.asd.

Parent Component

src (module).

Packages

inner-conditional.


4.1.4 inner-conditional/src/helper.lisp

Dependency

package.lisp (file).

Source

inner-conditional.asd.

Parent Component

src (module).

Public Interface

*precompiling-directives* (special variable).

Internals

4.1.5 inner-conditional/src/conditions.lisp

Dependency

helper.lisp (file).

Source

inner-conditional.asd.

Parent Component

src (module).

Public Interface

print-object (method).

Internals

4.1.6 inner-conditional/src/hooks.lisp

Dependency

conditions.lisp (file).

Source

inner-conditional.asd.

Parent Component

src (module).

Internals

4.1.7 inner-conditional/src/inner-conditional.lisp

Dependency

hooks.lisp (file).

Source

inner-conditional.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 inner-conditional/src/clauses.lisp

Dependency

inner-conditional.lisp (file).

Source

inner-conditional.asd.

Parent Component

src (module).

Public Interface

4.1.9 inner-conditional/src/define-condition-expander.lisp

Dependency

clauses.lisp (file).

Source

inner-conditional.asd.

Parent Component

src (module).

Public Interface

define-condition-expander (macro).

Internals

5 Packages

Packages are listed by definition order.


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

5.1 macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp.

Use List

common-lisp.

Used By List

inner-conditional.

Public Interface
Internals

5.2 inner-conditional-asd

Source

inner-conditional.asd.

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

5.3 inner-conditional

Source

package.lisp.

Use List
Public Interface
Internals

6 Definitions

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


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

6.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

6.1.1 Special variables

Special Variable: *precompiling-directives*
Package

inner-conditional.

Source

helper.lisp.


6.1.2 Macros

Macro: define-condition-expander ((inner-name outer-name version-expander) lambda-list &body body)
Package

inner-conditional.

Source

define-condition-expander.lisp.

Macro: define-inner-conditional (name label macro-lambda-list &body body)
Package

inner-conditional.

Source

inner-conditional.lisp.

Macro: inner ((label) &body body)
Package

inner-conditional.

Source

inner-conditional.lisp.

Macro: inner-case (label keyform &body cases)
Package

inner-conditional.

Source

clauses.lisp.

Macro: inner-ccase (label keyform &body cases)
Package

inner-conditional.

Source

clauses.lisp.

Macro: inner-cond (label &body clauses)
Package

inner-conditional.

Source

clauses.lisp.

Macro: inner-ecase (label keyform &body cases)
Package

inner-conditional.

Source

clauses.lisp.

Macro: inner-if (label condition then else)
Package

inner-conditional.

Source

clauses.lisp.

Macro: inner-typecase (label keyform &body cases)
Package

inner-conditional.

Source

clauses.lisp.

Macro: inner-when (label condition &body body)
Package

inner-conditional.

Source

clauses.lisp.

Macro: macroexpand-dammit-as-macro (form)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Macro: with-inner ((label) &body body)
Package

inner-conditional.

Source

inner-conditional.lisp.


6.1.3 Ordinary functions

Function: macroexpand-dammit (form &optional *env*)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: macroexpand-dammit-expansion (form &optional *env*)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.


6.1.4 Standalone methods

Method: print-object ((c inner-condition) s)
Source

inner-conditional.lisp.

Method: print-object ((c compile-time-condition) s)
Source

conditions.lisp.

Method: print-object ((c version-condition) s)
Source

inner-conditional.lisp.


6.2 Internals


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

6.2.1 Special variables

Special Variable: *env*
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Special Variable: *form-handler*
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Special Variable: *previous-hooks*
Package

inner-conditional.

Source

hooks.lisp.


6.2.2 Macros

Macro: defhandler (symbol lambda-list &body body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Macro: m (form)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Macro: m-list (&body body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Macro: with-hook ((hook) &body body)
Package

inner-conditional.

Source

hooks.lisp.

Macro: with-imposed-bindings (&body body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Macro: without-package-locking (&body body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.


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

6.2.3 Ordinary functions

Function: %macro-lambda-list-whole-body (lambda-list)
Package

inner-conditional.

Source

define-condition-expander.lisp.

Function: binding-to-symbol (binding)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: call-with-inner (label body outer-handler inner-body-handler final-expander &optional env)
Package

inner-conditional.

Source

inner-conditional.lisp.

Function: call-with-inner-pass1 (label expand)
Package

inner-conditional.

Source

inner-conditional.lisp.

Function: call-with-inner-pass2 (inner expand &optional label)
Package

inner-conditional.

Source

inner-conditional.lisp.

Function: clean-fbindings (bindings)

Return a set of bindings that always defaults to nil

Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: compiler-macroexpand-1 (form &optional *env*)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: convert-first-inner-to-tag (body tag label)
Package

inner-conditional.

Source

helper.lisp.

Function: declare-fbindings-ignorable (bindings)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: declare-lambda-list-ignorable (lambda-list)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: default-form-handler (first &rest rest)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: dump-fbinding (name lambda-list &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: dump-fbindings (bindings)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: e (form)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: e-list (list)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: force-first (x)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: force-list (x)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: form-expansion (inners outer-tag)
Package

inner-conditional.

Source

inner-conditional.lisp.

Function: form-expansion-with-single-condition (inners outer-tag)
Package

inner-conditional.

Source

define-condition-expander.lisp.

Function: form-handler (first)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: function-name-p (name)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-block (block name &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-catch (catch tag &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-declare (declare &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-defun (defun name lambda-list &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-eval-when (eval-when situation &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-flet (flet bindings &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-function (function name)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-go (go tag)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-labels (labels bindings &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-lambda (lambda lambda-list &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-let (let bindings &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-let* (let* bindings &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-load-time-value (load-time-value form &optional read-only-p)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-macrolet (macrolet bindings &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-named-lambda (named-lambda name lambda-list &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-progn (progn &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-progv (progv symbols values &rest body)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-quote (quote object)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-return-from (return-from name &optional value)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-setq (setq &rest pairs)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-tagbody (tagbody &rest tags-and-forms)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-the (the value-type form)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: hander-unwind-protect (unwind-protect protected-form &rest cleanup)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: macroexpand-all-except-macrobindings (body env)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: macroexpand-dammit-string (str)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: match-inner (label elem)

check whether =elem= is a =inner= clause. convert =when= if necessary.

Package

inner-conditional.

Source

helper.lisp.

Function: maybe-locally (forms)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: nsubst-1 (new old tree &key test)
Package

inner-conditional.

Source

helper.lisp.

Function: pop-hook ()
Package

inner-conditional.

Source

hooks.lisp.

Function: precompile-1-layer (sym fn form)
Package

inner-conditional.

Source

helper.lisp.

Function: precompile-directives (form &optional env)
Package

inner-conditional.

Source

helper.lisp.

Function: precompile-directives-1 (form &optional env)
Package

inner-conditional.

Source

helper.lisp.

Function: push-hook (hook)
Package

inner-conditional.

Source

hooks.lisp.

Function: reset-hooks ()
Package

inner-conditional.

Source

hooks.lisp.

Function: runtime-symbol (name package-name)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: subst-1 (new old tree &key test)
Package

inner-conditional.

Source

helper.lisp.

Function: tagbody-restore-tags (list)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: use-value-hook (prev)
Package

inner-conditional.

Source

inner-conditional.lisp.

Function: walk-tree (fn tree)
Package

macroexpand-dammit-guicho.

Source

macroexpand-dammit.lisp.

Function: walk-tree (fn tree)
Package

inner-conditional.

Source

helper.lisp.

Function: wrap-with-body-macrolet (label inner)
Package

inner-conditional.

Source

inner-conditional.lisp.


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

6.2.4 Generic functions

Generic Reader: body (condition)
Generic Writer: (setf body) (condition)
Package

inner-conditional.

Methods
Reader Method: body ((condition version-condition))
Writer Method: (setf body) ((condition version-condition))
Source

inner-conditional.lisp.

Target Slot

body.

Reader Method: body ((condition inner-condition))
Writer Method: (setf body) ((condition inner-condition))
Source

inner-conditional.lisp.

Target Slot

body.

Generic Reader: environment (condition)
Generic Writer: (setf environment) (condition)
Package

inner-conditional.

Methods
Reader Method: environment ((condition compile-time-condition))
Writer Method: (setf environment) ((condition compile-time-condition))
Source

conditions.lisp.

Target Slot

environment.

Generic Reader: form (condition)
Generic Writer: (setf form) (condition)
Package

inner-conditional.

Methods
Reader Method: form ((condition compile-time-condition))
Writer Method: (setf form) ((condition compile-time-condition))
Source

conditions.lisp.

Target Slot

form.

Generic Reader: label (condition)
Generic Writer: (setf label) (condition)
Package

inner-conditional.

Methods
Reader Method: label ((condition version-condition))
Writer Method: (setf label) ((condition version-condition))
Source

inner-conditional.lisp.

Target Slot

label.

Reader Method: label ((condition inner-condition))
Writer Method: (setf label) ((condition inner-condition))
Source

inner-conditional.lisp.

Target Slot

label.

Generic Reader: tag (condition)
Generic Writer: (setf tag) (condition)
Package

inner-conditional.

Methods
Reader Method: tag ((condition version-condition))
Writer Method: (setf tag) ((condition version-condition))
Source

inner-conditional.lisp.

Target Slot

tag.

Reader Method: tag ((condition inner-condition))
Writer Method: (setf tag) ((condition inner-condition))
Source

inner-conditional.lisp.

Target Slot

tag.

Generic Reader: version-tag (condition)
Generic Writer: (setf version-tag) (condition)
Package

inner-conditional.

Methods
Reader Method: version-tag ((condition version-condition))
Writer Method: (setf version-tag) ((condition version-condition))
Source

inner-conditional.lisp.

Target Slot

version-tag.

Generic Reader: versions (condition)
Generic Writer: (setf versions) (condition)
Package

inner-conditional.

Methods
Reader Method: versions ((condition inner-condition))
Writer Method: (setf versions) ((condition inner-condition))
Source

inner-conditional.lisp.

Target Slot

versions.


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

6.2.5 Conditions

Condition: compile-time-condition
Package

inner-conditional.

Source

conditions.lisp.

Direct superclasses

simple-condition.

Direct subclasses
Direct methods
Direct slots
Slot: form
Initargs

:form

Readers

form.

Writers

(setf form).

Slot: environment
Initargs

:environment

Readers

environment.

Writers

(setf environment).

Condition: inner-condition
Package

inner-conditional.

Source

inner-conditional.lisp.

Direct superclasses

compile-time-condition.

Direct methods
Direct slots
Slot: label
Initargs

:label

Readers

label.

Writers

(setf label).

Slot: tag
Initargs

:tag

Readers

tag.

Writers

(setf tag).

Slot: versions
Initform

(quote nil)

Initargs

:versions

Readers

versions.

Writers

(setf versions).

Slot: body
Initargs

:body

Readers

body.

Writers

(setf body).

Condition: version-condition
Package

inner-conditional.

Source

inner-conditional.lisp.

Direct superclasses

compile-time-condition.

Direct methods
Direct slots
Slot: label
Initargs

:label

Readers

label.

Writers

(setf label).

Slot: tag
Initargs

:tag

Readers

tag.

Writers

(setf tag).

Slot: version-tag
Initargs

:version-tag

Readers

version-tag.

Writers

(setf version-tag).

Slot: body
Initargs

:body

Readers

body.

Writers

(setf body).


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

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

%
%macro-lambda-list-whole-body: Private ordinary functions

(
(setf body): Private generic functions
(setf body): Private generic functions
(setf body): Private generic functions
(setf environment): Private generic functions
(setf environment): Private generic functions
(setf form): Private generic functions
(setf form): Private generic functions
(setf label): Private generic functions
(setf label): Private generic functions
(setf label): Private generic functions
(setf tag): Private generic functions
(setf tag): Private generic functions
(setf tag): Private generic functions
(setf version-tag): Private generic functions
(setf version-tag): Private generic functions
(setf versions): Private generic functions
(setf versions): Private generic functions

B
binding-to-symbol: Private ordinary functions
body: Private generic functions
body: Private generic functions
body: Private generic functions

C
call-with-inner: Private ordinary functions
call-with-inner-pass1: Private ordinary functions
call-with-inner-pass2: Private ordinary functions
clean-fbindings: Private ordinary functions
compiler-macroexpand-1: Private ordinary functions
convert-first-inner-to-tag: Private ordinary functions

D
declare-fbindings-ignorable: Private ordinary functions
declare-lambda-list-ignorable: Private ordinary functions
default-form-handler: Private ordinary functions
defhandler: Private macros
define-condition-expander: Public macros
define-inner-conditional: Public macros
dump-fbinding: Private ordinary functions
dump-fbindings: Private ordinary functions

E
e: Private ordinary functions
e-list: Private ordinary functions
environment: Private generic functions
environment: Private generic functions

F
force-first: Private ordinary functions
force-list: Private ordinary functions
form: Private generic functions
form: Private generic functions
form-expansion: Private ordinary functions
form-expansion-with-single-condition: Private ordinary functions
form-handler: Private ordinary functions
Function, %macro-lambda-list-whole-body: Private ordinary functions
Function, binding-to-symbol: Private ordinary functions
Function, call-with-inner: Private ordinary functions
Function, call-with-inner-pass1: Private ordinary functions
Function, call-with-inner-pass2: Private ordinary functions
Function, clean-fbindings: Private ordinary functions
Function, compiler-macroexpand-1: Private ordinary functions
Function, convert-first-inner-to-tag: Private ordinary functions
Function, declare-fbindings-ignorable: Private ordinary functions
Function, declare-lambda-list-ignorable: Private ordinary functions
Function, default-form-handler: Private ordinary functions
Function, dump-fbinding: Private ordinary functions
Function, dump-fbindings: Private ordinary functions
Function, e: Private ordinary functions
Function, e-list: Private ordinary functions
Function, force-first: Private ordinary functions
Function, force-list: Private ordinary functions
Function, form-expansion: Private ordinary functions
Function, form-expansion-with-single-condition: Private ordinary functions
Function, form-handler: Private ordinary functions
Function, function-name-p: Private ordinary functions
Function, hander-block: Private ordinary functions
Function, hander-catch: Private ordinary functions
Function, hander-declare: Private ordinary functions
Function, hander-defun: Private ordinary functions
Function, hander-eval-when: Private ordinary functions
Function, hander-flet: Private ordinary functions
Function, hander-function: Private ordinary functions
Function, hander-go: Private ordinary functions
Function, hander-labels: Private ordinary functions
Function, hander-lambda: Private ordinary functions
Function, hander-let: Private ordinary functions
Function, hander-let*: Private ordinary functions
Function, hander-load-time-value: Private ordinary functions
Function, hander-macrolet: Private ordinary functions
Function, hander-named-lambda: Private ordinary functions
Function, hander-progn: Private ordinary functions
Function, hander-progv: Private ordinary functions
Function, hander-quote: Private ordinary functions
Function, hander-return-from: Private ordinary functions
Function, hander-setq: Private ordinary functions
Function, hander-tagbody: Private ordinary functions
Function, hander-the: Private ordinary functions
Function, hander-unwind-protect: Private ordinary functions
Function, macroexpand-all-except-macrobindings: Private ordinary functions
Function, macroexpand-dammit: Public ordinary functions
Function, macroexpand-dammit-expansion: Public ordinary functions
Function, macroexpand-dammit-string: Private ordinary functions
Function, match-inner: Private ordinary functions
Function, maybe-locally: Private ordinary functions
Function, nsubst-1: Private ordinary functions
Function, pop-hook: Private ordinary functions
Function, precompile-1-layer: Private ordinary functions
Function, precompile-directives: Private ordinary functions
Function, precompile-directives-1: Private ordinary functions
Function, push-hook: Private ordinary functions
Function, reset-hooks: Private ordinary functions
Function, runtime-symbol: Private ordinary functions
Function, subst-1: Private ordinary functions
Function, tagbody-restore-tags: Private ordinary functions
Function, use-value-hook: Private ordinary functions
Function, walk-tree: Private ordinary functions
Function, walk-tree: Private ordinary functions
Function, wrap-with-body-macrolet: Private ordinary functions
function-name-p: Private ordinary functions

G
Generic Function, (setf body): Private generic functions
Generic Function, (setf environment): Private generic functions
Generic Function, (setf form): Private generic functions
Generic Function, (setf label): Private generic functions
Generic Function, (setf tag): Private generic functions
Generic Function, (setf version-tag): Private generic functions
Generic Function, (setf versions): Private generic functions
Generic Function, body: Private generic functions
Generic Function, environment: Private generic functions
Generic Function, form: Private generic functions
Generic Function, label: Private generic functions
Generic Function, tag: Private generic functions
Generic Function, version-tag: Private generic functions
Generic Function, versions: Private generic functions

H
hander-block: Private ordinary functions
hander-catch: Private ordinary functions
hander-declare: Private ordinary functions
hander-defun: Private ordinary functions
hander-eval-when: Private ordinary functions
hander-flet: Private ordinary functions
hander-function: Private ordinary functions
hander-go: Private ordinary functions
hander-labels: Private ordinary functions
hander-lambda: Private ordinary functions
hander-let: Private ordinary functions
hander-let*: Private ordinary functions
hander-load-time-value: Private ordinary functions
hander-macrolet: Private ordinary functions
hander-named-lambda: Private ordinary functions
hander-progn: Private ordinary functions
hander-progv: Private ordinary functions
hander-quote: Private ordinary functions
hander-return-from: Private ordinary functions
hander-setq: Private ordinary functions
hander-tagbody: Private ordinary functions
hander-the: Private ordinary functions
hander-unwind-protect: Private ordinary functions

I
inner: Public macros
inner-case: Public macros
inner-ccase: Public macros
inner-cond: Public macros
inner-ecase: Public macros
inner-if: Public macros
inner-typecase: Public macros
inner-when: Public macros

L
label: Private generic functions
label: Private generic functions
label: Private generic functions

M
m: Private macros
m-list: Private macros
Macro, defhandler: Private macros
Macro, define-condition-expander: Public macros
Macro, define-inner-conditional: Public macros
Macro, inner: Public macros
Macro, inner-case: Public macros
Macro, inner-ccase: Public macros
Macro, inner-cond: Public macros
Macro, inner-ecase: Public macros
Macro, inner-if: Public macros
Macro, inner-typecase: Public macros
Macro, inner-when: Public macros
Macro, m: Private macros
Macro, m-list: Private macros
Macro, macroexpand-dammit-as-macro: Public macros
Macro, with-hook: Private macros
Macro, with-imposed-bindings: Private macros
Macro, with-inner: Public macros
Macro, without-package-locking: Private macros
macroexpand-all-except-macrobindings: Private ordinary functions
macroexpand-dammit: Public ordinary functions
macroexpand-dammit-as-macro: Public macros
macroexpand-dammit-expansion: Public ordinary functions
macroexpand-dammit-string: Private ordinary functions
match-inner: Private ordinary functions
maybe-locally: Private ordinary functions
Method, (setf body): Private generic functions
Method, (setf body): Private generic functions
Method, (setf environment): Private generic functions
Method, (setf form): Private generic functions
Method, (setf label): Private generic functions
Method, (setf label): Private generic functions
Method, (setf tag): Private generic functions
Method, (setf tag): Private generic functions
Method, (setf version-tag): Private generic functions
Method, (setf versions): Private generic functions
Method, body: Private generic functions
Method, body: Private generic functions
Method, environment: Private generic functions
Method, form: Private generic functions
Method, label: Private generic functions
Method, label: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, tag: Private generic functions
Method, tag: Private generic functions
Method, version-tag: Private generic functions
Method, versions: Private generic functions

N
nsubst-1: Private ordinary functions

P
pop-hook: Private ordinary functions
precompile-1-layer: Private ordinary functions
precompile-directives: Private ordinary functions
precompile-directives-1: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
push-hook: Private ordinary functions

R
reset-hooks: Private ordinary functions
runtime-symbol: Private ordinary functions

S
subst-1: Private ordinary functions

T
tag: Private generic functions
tag: Private generic functions
tag: Private generic functions
tagbody-restore-tags: Private ordinary functions

U
use-value-hook: Private ordinary functions

V
version-tag: Private generic functions
version-tag: Private generic functions
versions: Private generic functions
versions: Private generic functions

W
walk-tree: Private ordinary functions
walk-tree: Private ordinary functions
with-hook: Private macros
with-imposed-bindings: Private macros
with-inner: Public macros
without-package-locking: Private macros
wrap-with-body-macrolet: Private ordinary functions

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

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

A.4 Data types

Jump to:   C   D   F   H   I   L   M   P   S   V  
Index Entry  Section

C
clauses.lisp: The inner-conditional/src/clauses․lisp file
compile-time-condition: Private conditions
Condition, compile-time-condition: Private conditions
Condition, inner-condition: Private conditions
Condition, version-condition: Private conditions
conditions.lisp: The inner-conditional/src/conditions․lisp file

D
define-condition-expander.lisp: The inner-conditional/src/define-condition-expander․lisp file

F
File, clauses.lisp: The inner-conditional/src/clauses․lisp file
File, conditions.lisp: The inner-conditional/src/conditions․lisp file
File, define-condition-expander.lisp: The inner-conditional/src/define-condition-expander․lisp file
File, helper.lisp: The inner-conditional/src/helper․lisp file
File, hooks.lisp: The inner-conditional/src/hooks․lisp file
File, inner-conditional.asd: The inner-conditional/inner-conditional․asd file
File, inner-conditional.lisp: The inner-conditional/src/inner-conditional․lisp file
File, macroexpand-dammit.lisp: The inner-conditional/lib/macroexpand-dammit․lisp file
File, package.lisp: The inner-conditional/src/package․lisp file

H
helper.lisp: The inner-conditional/src/helper․lisp file
hooks.lisp: The inner-conditional/src/hooks․lisp file

I
inner-condition: Private conditions
inner-conditional: The inner-conditional system
inner-conditional: The inner-conditional package
inner-conditional-asd: The inner-conditional-asd package
inner-conditional.asd: The inner-conditional/inner-conditional․asd file
inner-conditional.lisp: The inner-conditional/src/inner-conditional․lisp file

L
lib: The inner-conditional/lib module

M
macroexpand-dammit-guicho: The macroexpand-dammit-guicho package
macroexpand-dammit.lisp: The inner-conditional/lib/macroexpand-dammit․lisp file
Module, lib: The inner-conditional/lib module
Module, src: The inner-conditional/src module

P
Package, inner-conditional: The inner-conditional package
Package, inner-conditional-asd: The inner-conditional-asd package
Package, macroexpand-dammit-guicho: The macroexpand-dammit-guicho package
package.lisp: The inner-conditional/src/package․lisp file

S
src: The inner-conditional/src module
System, inner-conditional: The inner-conditional system

V
version-condition: Private conditions

Jump to:   C   D   F   H   I   L   M   P   S   V