The inner-conditional Reference Manual

Table of Contents

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 2.3 "Robert April" on Tue Jan 09 14:56:51 2018 GMT+0.


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

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.



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 inner-conditional

Author

Masataro Asai

Contact

guicho2.71828@gmail.com

License

LLGPL

Description

Series of macros which optimizes out the inner conditional jumping

Version

0.1.0

Dependencies
Source

inner-conditional.asd (file)

Components

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

3 Modules

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


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

3.1 inner-conditional/lib

Parent

inner-conditional (system)

Location

lib/

Component

macroexpand-dammit.lisp (file)


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

3.2 inner-conditional/src

Dependency

lib (module)

Parent

inner-conditional (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 inner-conditional.asd

Location

inner-conditional.asd

Systems

inner-conditional (system)

Packages

inner-conditional-asd


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

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

Parent

lib (module)

Location

lib/macroexpand-dammit.lisp

Packages

macroexpand-dammit-guicho

Exported Definitions
Internal Definitions

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

4.1.3 inner-conditional/src/package.lisp

Parent

src (module)

Location

src/package.lisp

Packages

inner-conditional


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

4.1.4 inner-conditional/src/helper.lisp

Dependency

package.lisp (file)

Parent

src (module)

Location

src/helper.lisp

Exported Definitions

*precompiling-directives* (special variable)

Internal Definitions

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

4.1.5 inner-conditional/src/conditions.lisp

Dependency

helper.lisp (file)

Parent

src (module)

Location

src/conditions.lisp

Internal Definitions

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

4.1.6 inner-conditional/src/hooks.lisp

Dependency

conditions.lisp (file)

Parent

src (module)

Location

src/hooks.lisp

Internal Definitions

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

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

Dependency

hooks.lisp (file)

Parent

src (module)

Location

src/inner-conditional.lisp

Exported Definitions
Internal Definitions

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

4.1.8 inner-conditional/src/clauses.lisp

Dependency

inner-conditional.lisp (file)

Parent

src (module)

Location

src/clauses.lisp

Exported Definitions

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

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

Dependency

clauses.lisp (file)

Parent

src (module)

Location

src/define-condition-expander.lisp

Exported Definitions

define-condition-expander (macro)

Internal Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 inner-conditional-asd

Source

inner-conditional.asd

Use List

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

5.2 macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Use List

common-lisp

Used By List

inner-conditional

Exported Definitions
Internal Definitions

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

5.3 inner-conditional

Source

package.lisp (file)

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

Special Variable: *precompiling-directives*
Package

inner-conditional

Source

helper.lisp (file)


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

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 (file)

Macro: define-inner-conditional NAME LABEL MACRO-LAMBDA-LIST &body BODY
Package

inner-conditional

Source

inner-conditional.lisp (file)

Macro: inner (LABEL) &body BODY
Package

inner-conditional

Source

inner-conditional.lisp (file)

Macro: inner-case LABEL KEYFORM &body CASES
Package

inner-conditional

Source

clauses.lisp (file)

Macro: inner-ccase LABEL KEYFORM &body CASES
Package

inner-conditional

Source

clauses.lisp (file)

Macro: inner-cond LABEL &body CLAUSES
Package

inner-conditional

Source

clauses.lisp (file)

Macro: inner-ecase LABEL KEYFORM &body CASES
Package

inner-conditional

Source

clauses.lisp (file)

Macro: inner-if LABEL CONDITION THEN ELSE
Package

inner-conditional

Source

clauses.lisp (file)

Macro: inner-typecase LABEL KEYFORM &body CASES
Package

inner-conditional

Source

clauses.lisp (file)

Macro: inner-when LABEL CONDITION &body BODY
Package

inner-conditional

Source

clauses.lisp (file)

Macro: macroexpand-dammit-as-macro FORM
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Macro: with-inner (LABEL) &body BODY
Package

inner-conditional

Source

inner-conditional.lisp (file)


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

6.1.3 Functions

Function: macroexpand-dammit FORM &optional *ENV*
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: macroexpand-dammit-expansion FORM &optional *ENV*
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)


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

6.2 Internal definitions


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

6.2.1 Special variables

Special Variable: *env*
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Special Variable: *form-handler*
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Special Variable: *previous-hooks*
Package

inner-conditional

Source

hooks.lisp (file)


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

6.2.2 Macros

Macro: defhandler SYMBOL LAMBDA-LIST &body BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Macro: m FORM
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Macro: m-list &body BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

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

inner-conditional

Source

hooks.lisp (file)

Macro: with-imposed-bindings &body BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Macro: without-package-locking &body BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)


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

6.2.3 Functions

Function: %macro-lambda-list-whole-body LAMBDA-LIST
Package

inner-conditional

Source

define-condition-expander.lisp (file)

Function: binding-to-symbol BINDING
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: call-with-inner LABEL BODY OUTER-HANDLER INNER-BODY-HANDLER FINAL-EXPANDER &optional ENV
Package

inner-conditional

Source

inner-conditional.lisp (file)

Function: call-with-inner-pass1 LABEL EXPAND
Package

inner-conditional

Source

inner-conditional.lisp (file)

Function: call-with-inner-pass2 INNER EXPAND &optional LABEL
Package

inner-conditional

Source

inner-conditional.lisp (file)

Function: clean-fbindings BINDINGS

Return a set of bindings that always defaults to nil

Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: compiler-macroexpand-1 FORM &optional *ENV*
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: convert-first-inner-to-tag BODY TAG LABEL
Package

inner-conditional

Source

helper.lisp (file)

Function: declare-fbindings-ignorable BINDINGS
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: declare-lambda-list-ignorable LAMBDA-LIST
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: default-form-handler FIRST &rest REST
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: dump-fbinding NAME LAMBDA-LIST &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: dump-fbindings BINDINGS
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: e FORM
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: e-list LIST
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: force-first X
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: force-list X
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: form-expansion INNERS OUTER-TAG
Package

inner-conditional

Source

inner-conditional.lisp (file)

Function: form-expansion-with-single-condition INNERS OUTER-TAG
Package

inner-conditional

Source

define-condition-expander.lisp (file)

Function: form-handler FIRST
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: function-name-p NAME
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-block BLOCK NAME &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-catch CATCH TAG &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-declare DECLARE &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-defun DEFUN NAME LAMBDA-LIST &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-eval-when EVAL-WHEN SITUATION &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-flet FLET BINDINGS &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-function FUNCTION NAME
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-go GO TAG
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-labels LABELS BINDINGS &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-lambda LAMBDA LAMBDA-LIST &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-let LET BINDINGS &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-let* LET* BINDINGS &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-load-time-value LOAD-TIME-VALUE FORM &optional READ-ONLY-P
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-macrolet MACROLET BINDINGS &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-named-lambda NAMED-LAMBDA NAME LAMBDA-LIST &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-progn PROGN &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-progv PROGV SYMBOLS VALUES &rest BODY
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-quote QUOTE OBJECT
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-return-from RETURN-FROM NAME &optional VALUE
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-setq SETQ &rest PAIRS
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-tagbody TAGBODY &rest TAGS-AND-FORMS
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-the THE VALUE-TYPE FORM
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: hander-unwind-protect UNWIND-PROTECT PROTECTED-FORM &rest CLEANUP
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: macroexpand-all-except-macrobindings BODY ENV
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: macroexpand-dammit-string STR
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: match-inner LABEL ELEM

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

Package

inner-conditional

Source

helper.lisp (file)

Function: maybe-locally FORMS
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: nsubst-1 NEW OLD TREE &key TEST
Package

inner-conditional

Source

helper.lisp (file)

Function: pop-hook ()
Package

inner-conditional

Source

hooks.lisp (file)

Function: precompile-1-layer SYM FN FORM
Package

inner-conditional

Source

helper.lisp (file)

Function: precompile-directives FORM &optional ENV
Package

inner-conditional

Source

helper.lisp (file)

Function: precompile-directives-1 FORM &optional ENV
Package

inner-conditional

Source

helper.lisp (file)

Function: push-hook HOOK
Package

inner-conditional

Source

hooks.lisp (file)

Function: reset-hooks ()
Package

inner-conditional

Source

hooks.lisp (file)

Function: runtime-symbol NAME PACKAGE-NAME
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: subst-1 NEW OLD TREE &key TEST
Package

inner-conditional

Source

helper.lisp (file)

Function: tagbody-restore-tags LIST
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: use-value-hook PREV
Package

inner-conditional

Source

inner-conditional.lisp (file)

Function: walk-tree FN TREE
Package

macroexpand-dammit-guicho

Source

macroexpand-dammit.lisp (file)

Function: walk-tree FN TREE
Package

inner-conditional

Source

helper.lisp (file)

Function: wrap-with-body-macrolet LABEL INNER
Package

inner-conditional

Source

inner-conditional.lisp (file)


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

6.2.4 Generic functions

Generic Function: body CONDITION
Generic Function: (setf body) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: body (CONDITION version-condition)
Method: (setf body) NEW-VALUE (CONDITION version-condition)
Source

inner-conditional.lisp (file)

Method: body (CONDITION inner-condition)
Method: (setf body) NEW-VALUE (CONDITION inner-condition)
Source

inner-conditional.lisp (file)

Generic Function: environment CONDITION
Generic Function: (setf environment) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: environment (CONDITION compile-time-condition)
Method: (setf environment) NEW-VALUE (CONDITION compile-time-condition)
Source

conditions.lisp (file)

Generic Function: form CONDITION
Generic Function: (setf form) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: form (CONDITION compile-time-condition)
Method: (setf form) NEW-VALUE (CONDITION compile-time-condition)
Source

conditions.lisp (file)

Generic Function: label CONDITION
Generic Function: (setf label) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: label (CONDITION version-condition)
Method: (setf label) NEW-VALUE (CONDITION version-condition)
Source

inner-conditional.lisp (file)

Method: label (CONDITION inner-condition)
Method: (setf label) NEW-VALUE (CONDITION inner-condition)
Source

inner-conditional.lisp (file)

Generic Function: tag CONDITION
Generic Function: (setf tag) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: tag (CONDITION version-condition)
Method: (setf tag) NEW-VALUE (CONDITION version-condition)
Source

inner-conditional.lisp (file)

Method: tag (CONDITION inner-condition)
Method: (setf tag) NEW-VALUE (CONDITION inner-condition)
Source

inner-conditional.lisp (file)

Generic Function: version-tag CONDITION
Generic Function: (setf version-tag) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: version-tag (CONDITION version-condition)
Method: (setf version-tag) NEW-VALUE (CONDITION version-condition)
Source

inner-conditional.lisp (file)

Generic Function: versions CONDITION
Generic Function: (setf versions) NEW-VALUE CONDITION
Package

inner-conditional

Methods
Method: versions (CONDITION inner-condition)
Method: (setf versions) NEW-VALUE (CONDITION inner-condition)
Source

inner-conditional.lisp (file)


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

6.2.5 Conditions

Condition: compile-time-condition ()
Package

inner-conditional

Source

conditions.lisp (file)

Direct superclasses

simple-condition (condition)

Direct subclasses
Direct methods
  • print-object (method)
  • environment (method)
  • environment (method)
  • form (method)
  • form (method)
Direct slots
Slot: form
Initargs

:form

Readers

form (generic function)

Writers

(setf form) (generic function)

Slot: environment
Initargs

:environment

Readers

environment (generic function)

Writers

(setf environment) (generic function)

Condition: inner-condition ()
Package

inner-conditional

Source

inner-conditional.lisp (file)

Direct superclasses

compile-time-condition (condition)

Direct methods
  • print-object (method)
  • body (method)
  • body (method)
  • versions (method)
  • versions (method)
  • tag (method)
  • tag (method)
  • label (method)
  • label (method)
Direct slots
Slot: label
Initargs

:label

Readers

label (generic function)

Writers

(setf label) (generic function)

Slot: tag
Initargs

:tag

Readers

tag (generic function)

Writers

(setf tag) (generic function)

Slot: versions
Initargs

:versions

Initform

(quote nil)

Readers

versions (generic function)

Writers

(setf versions) (generic function)

Slot: body
Initargs

:body

Readers

body (generic function)

Writers

(setf body) (generic function)

Condition: version-condition ()
Package

inner-conditional

Source

inner-conditional.lisp (file)

Direct superclasses

compile-time-condition (condition)

Direct methods
  • print-object (method)
  • body (method)
  • body (method)
  • version-tag (method)
  • version-tag (method)
  • tag (method)
  • tag (method)
  • label (method)
  • label (method)
Direct slots
Slot: label
Initargs

:label

Readers

label (generic function)

Writers

(setf label) (generic function)

Slot: tag
Initargs

:tag

Readers

tag (generic function)

Writers

(setf tag) (generic function)

Slot: version-tag
Initargs

:version-tag

Readers

version-tag (generic function)

Writers

(setf version-tag) (generic function)

Slot: body
Initargs

:body

Readers

body (generic function)

Writers

(setf body) (generic function)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   I   L   M  
Index Entry  Section

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

I
inner-conditional.asd: The inner-conditional<dot>asd file
inner-conditional/lib: The inner-conditional/lib module
inner-conditional/lib/macroexpand-dammit.lisp: The inner-conditional/lib/macroexpand-dammit<dot>lisp file
inner-conditional/src: The inner-conditional/src module
inner-conditional/src/clauses.lisp: The inner-conditional/src/clauses<dot>lisp file
inner-conditional/src/conditions.lisp: The inner-conditional/src/conditions<dot>lisp file
inner-conditional/src/define-condition-expander.lisp: The inner-conditional/src/define-condition-expander<dot>lisp file
inner-conditional/src/helper.lisp: The inner-conditional/src/helper<dot>lisp file
inner-conditional/src/hooks.lisp: The inner-conditional/src/hooks<dot>lisp file
inner-conditional/src/inner-conditional.lisp: The inner-conditional/src/inner-conditional<dot>lisp file
inner-conditional/src/package.lisp: The inner-conditional/src/package<dot>lisp file

L
Lisp File, inner-conditional.asd: The inner-conditional<dot>asd file
Lisp File, inner-conditional/lib/macroexpand-dammit.lisp: The inner-conditional/lib/macroexpand-dammit<dot>lisp file
Lisp File, inner-conditional/src/clauses.lisp: The inner-conditional/src/clauses<dot>lisp file
Lisp File, inner-conditional/src/conditions.lisp: The inner-conditional/src/conditions<dot>lisp file
Lisp File, inner-conditional/src/define-condition-expander.lisp: The inner-conditional/src/define-condition-expander<dot>lisp file
Lisp File, inner-conditional/src/helper.lisp: The inner-conditional/src/helper<dot>lisp file
Lisp File, inner-conditional/src/hooks.lisp: The inner-conditional/src/hooks<dot>lisp file
Lisp File, inner-conditional/src/inner-conditional.lisp: The inner-conditional/src/inner-conditional<dot>lisp file
Lisp File, inner-conditional/src/package.lisp: The inner-conditional/src/package<dot>lisp file

M
Module, inner-conditional/lib: The inner-conditional/lib module
Module, inner-conditional/src: The inner-conditional/src module

Jump to:   F   I   L   M  

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: Internal functions

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

B
binding-to-symbol: Internal functions
body: Internal generic functions
body: Internal generic functions
body: Internal generic functions

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

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

E
e: Internal functions
e-list: Internal functions
environment: Internal generic functions
environment: Internal generic functions

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

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

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

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

L
label: Internal generic functions
label: Internal generic functions
label: Internal generic functions

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

N
nsubst-1: Internal functions

P
pop-hook: Internal functions
precompile-1-layer: Internal functions
precompile-directives: Internal functions
precompile-directives-1: Internal functions
push-hook: Internal functions

R
reset-hooks: Internal functions
runtime-symbol: Internal functions

S
subst-1: Internal functions

T
tag: Internal generic functions
tag: Internal generic functions
tag: Internal generic functions
tagbody-restore-tags: Internal functions

U
use-value-hook: Internal functions

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

W
walk-tree: Internal functions
walk-tree: Internal functions
with-hook: Internal macros
with-imposed-bindings: Internal macros
with-inner: Exported macros
without-package-locking: Internal macros
wrap-with-body-macrolet: Internal functions

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

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

A.3 Variables

Jump to:   *  
B   E   F   L   S   T   V  
Index Entry  Section

*
*env*: Internal special variables
*form-handler*: Internal special variables
*precompiling-directives*: Exported special variables
*previous-hooks*: Internal special variables

B
body: Internal conditions
body: Internal conditions

E
environment: Internal conditions

F
form: Internal conditions

L
label: Internal conditions
label: Internal conditions

S
Slot, body: Internal conditions
Slot, body: Internal conditions
Slot, environment: Internal conditions
Slot, form: Internal conditions
Slot, label: Internal conditions
Slot, label: Internal conditions
Slot, tag: Internal conditions
Slot, tag: Internal conditions
Slot, version-tag: Internal conditions
Slot, versions: Internal conditions
Special Variable, *env*: Internal special variables
Special Variable, *form-handler*: Internal special variables
Special Variable, *precompiling-directives*: Exported special variables
Special Variable, *previous-hooks*: Internal special variables

T
tag: Internal conditions
tag: Internal conditions

V
version-tag: Internal conditions
versions: Internal conditions

Jump to:   *  
B   E   F   L   S   T   V  

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

A.4 Data types

Jump to:   C   I   M   P   S   V  
Index Entry  Section

C
compile-time-condition: Internal conditions
Condition, compile-time-condition: Internal conditions
Condition, inner-condition: Internal conditions
Condition, version-condition: Internal conditions

I
inner-condition: Internal conditions
inner-conditional: The inner-conditional system
inner-conditional: The inner-conditional package
inner-conditional-asd: The inner-conditional-asd package

M
macroexpand-dammit-guicho: The macroexpand-dammit-guicho package

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

S
System, inner-conditional: The inner-conditional system

V
version-condition: Internal conditions

Jump to:   C   I   M   P   S   V