The doplus Reference Manual

Table of Contents

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

The doplus Reference Manual

This is the doplus Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:49:34 2018 GMT+0.


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

1 Introduction

doplus - an iteration macro for Common Lisp

This is DO+ (doplus), the high-level, extensible iteration construct for Common Lisp.

By design, doplus has a reasonably simple implementation, that in particular doesn't make use of a code walker, allowing users to freely mix doplus loops with macrolets and every other kind of advanced Lisp construct.

Installation and dependencies

The preferred way to install doplus is by using Quicklisp.

doplus itself depends only on parse-declarations. FiveAM is used for the test suite.

Tests

To run the test suite, use ASDF.

License

doplus is distributed under the GPLv3. See the file COPYING for details. If you'd like a different license arrangement, please contact me. I'm very open about providing friendlier licenses to individuals and companies that I trust, but by default I won't allow complete strangers to profit from my code without giving anything back.

Further information

The home of doplus is https://bitbucket.org/alessiostalla/doplus. There you can find in-depth documentation, access the code repository and checkout the latest version.


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 doplus

Author

Alessio Stalla <alessiostalla@gmail.com>

License

GPLv3

Description

DO+ (doplus) is a high-level, extensible iteration construct for Common Lisp with a reasonably simple implementation, which in particular does not use a code walker.

Dependency

parse-declarations-1.0

Source

doplus.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 doplus.asd

Location

doplus.asd

Systems

doplus (system)


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

3.1.2 doplus/packages.lisp

Dependency

doplus.asd (file)

Parent

doplus (system)

Location

packages.lisp

Packages

doplus


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

3.1.3 doplus/destructuring.lisp

Dependency

packages.lisp (file)

Parent

doplus (system)

Location

destructuring.lisp

Internal Definitions

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

3.1.4 doplus/doplus.lisp

Dependency

destructuring.lisp (file)

Parent

doplus (system)

Location

doplus.lisp

Exported Definitions
Internal Definitions

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

3.2 Other


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

3.2.1 doplus/doplus.asd

Parent

doplus (system)

Location

doplus.asd


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

4 Packages

Packages are listed by definition order.


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

4.1 doplus

Source

packages.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Special variables

Special Variable: *iteration-variable*
Package

doplus

Source

doplus.lisp (file)


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

5.1.2 Macros

Macro: accumulating-to VARS &key INITIALLY BY FINALLY

Specifies an accumulation clause. Refer to the manual for details.

Package

doplus

Source

doplus.lisp (file)

Macro: accumulating-to-and-returning VARS &rest ARGS &key INITIALLY BY FINALLY

Same as accumulating-into, but also returns the value of each <vars> at the end of the loop.

Package

doplus

Source

doplus.lisp (file)

Macro: across VECTOR &rest ARGS &key INDEX START END BY

Synonym for in-vector.

Package

doplus

Source

doplus.lisp (file)

Macro: being FORM &key THEN

Assigns to the iteration variable a value computed by evaluating FORM on each iteration, including the first. Optionally, the variable can be updated evaluating a differen form (the value of the ‘then’ parameter). Examples: (for x (being (random))), (for y (being ’quiet :then (if (> x 0.5) ’angry ’quiet))).

Package

doplus

Source

doplus.lisp (file)

Macro: collect VALUE &key INTO

Collects a value into an accumulator. If no accumulator is provided, the default one for the current do+ loop is used.

Package

doplus

Source

doplus.lisp (file)

Macro: collecting-into VARS &rest ARGS &key INITIALLY BY FINALLY

Synonym for accumulating-to.

Package

doplus

Source

doplus.lisp (file)

Macro: collecting-into-and-returning VARS &rest ARGS &key INITIALLY BY FINALLY

Same as collecting-into, but also returns the value of each <vars> at the end of the loop.

Package

doplus

Source

doplus.lisp (file)

Macro: counting VAR

Counts the number of iterations, starting from 0.

Package

doplus

Source

doplus.lisp (file)

Macro: defclause NAME ARGLIST &body BODY

Same as cl:defmacro, but additionally records <name> in *clauses* as a known clause macro.

Package

doplus

Source

doplus.lisp (file)

Macro: do+ &body BODY

High-level, extensible iteration construct. Refer to the manual for syntax and semantics.

Package

doplus

Source

doplus.lisp (file)

Macro: finally &rest FORMS

Evaluates <form> after the last iteration, before returning a value.

Package

doplus

Source

doplus.lisp (file)

Macro: finding VAR CONDITION

Same as FOR, but perhaps nicer to read when used in conjunction with macros like MAXIMIZING.

Package

doplus

Source

doplus.lisp (file)

Macro: for VAR-OR-VARS ITERATION

General iteration clause. Its actual behaviour is controlled by ITERATION, a macro form that FOR expands with *ITERATION-VARIABLE* bound to VAR. Example: in (for x (in ’(1 2 3))), IN is a macro that expands into clauses that make use of *ITERATION-VARIABLE*, which is bound to the symbol X in the example. For certain iteration macros, VAR can be a lambda-list as well, in which case destructuring is applied. Example: (for (x &optional y) (in-list ’((1 2) (3)))).

Package

doplus

Source

doplus.lisp (file)

Macro: from INITIAL-VALUE &key TO BY WHILE USING

Iterates from a given initial value to an optional maximum. Every iteration increments/decrements the value applying the <using> function (by default +) to the previous value and <by> (by default 1 or -1, depending on whether to >= from or not). Similarly, the <while> function is used to determine if <to> has been reached or surpassed. <while> is a function of two arguments, the current value and the value of <to>, and as soon as it returns false, the loop is terminated. <while> defaults to a function that returns true only if <to> has been specified and, letting cur be the current value, (<= (min to from) cur (max to from)).

Package

doplus

Source

doplus.lisp (file)

Macro: generating VAR ITERATION

Lazy version of FOR. The user must call UPDATE or TRY-UPDATE in the body of the DO+ form in order to compute new values for the variable(s). Initialization, instead, is *always* performed eagerly.

Package

doplus

Source

doplus.lisp (file)

Macro: hash-entries-of HASH-TABLE

Iterates over the entries of a hash table. The iteration variables must be specified as (key value), for example: (for (lemma definitions) (hash-entries-of the-english-vocabulary)).

Package

doplus

Source

doplus.lisp (file)

Macro: in SEQ &rest ARGS &key &allow-other-keys

Iterates over a sequence. IN must be used in combination with FOR, GENERATING and similar macros (those that bind *ITERATION-VARIABLE*). In implementations with extensible sequences (currently ABCL and SBCL), native sequence iterators are used, and all sequence types are supported, not just lists and vectors. In other implementations, an iterator specialized for lists or vectors is used depending on the type of sequence. All ‘args‘ are passed down to make-sequence-iterator (see the extensible sequences API paper for details [Rhodes2007]). IN can perform destructuring.

Package

doplus

Source

doplus.lisp (file)

Macro: in-list LIST &key BY REST

Like IN, but specialized for lists. Successive lists are obtained by calling the function BY (which by default is #’CDR) on the previous list. REST, if specified, is the variable holding the remaining elements to be processed; REST initially is bound to the entire list, then to successive lists obtained by funcalling BY.

Package

doplus

Source

doplus.lisp (file)

Macro: in-vector VECTOR &key INDEX START END BY

Loops across a vector. INDEX is bound to the index of the current element in the vector. The vector is traversed starting from index START (0 by default) to index END (the end of the vector if not specified); the index is incremented by BY (1 by default) on each iteration.

Package

doplus

Source

doplus.lisp (file)

Macro: initially &rest FORMS

Evaluates <form> before the first iteration.

Package

doplus

Source

doplus.lisp (file)

Macro: list-tails LIST &key BY

Loops over the successive tails of a list, checking for the end of the list as if by ATOM. Can perform destructuring.

Package

doplus

Source

doplus.lisp (file)

Macro: maximizing FORM &key TEST SAVING IN

Synonym for optimizing.

Package

doplus

Source

doplus.lisp (file)

Macro: minimizing FORM &key TEST SAVING IN

Same as optimizing but with < as the default test.

Package

doplus

Source

doplus.lisp (file)

Macro: optimizing FORM &key TEST SAVING IN

Finds the optimum value of an expression across the iteration. Refer to the manual for details.

Package

doplus

Source

doplus.lisp (file)

Macro: options &rest ARGS &key NAME ATOMIC-UPDATES
Package

doplus

Source

doplus.lisp (file)

Macro: previous EXPR

On every iteration, the for-variable is set to the value <expr> had at the end of the previous iteration (initially NIL).

Package

doplus

Source

doplus.lisp (file)

Macro: returning &rest FORMS

Returns each form in <forms> as the value of the do+ form when the loop ends. If multiple forms are specified, by one or more RETURNING clauses, multiple values are returned, in the order the corresponding forms appear lexically. If one of the <forms> is (cl:values ...), then each value will be returned as if the values were spelled as direct arguments of the RETURNING form.

Package

doplus

Source

doplus.lisp (file)

Macro: skip &optional LOOP-NAME

Skips the current iteration. Refers to the current loop or, if loop-name is specified, to the closest surrounding loop with that name.

Package

doplus

Source

doplus.lisp (file)

Macro: stop-when CONDITION

Synonym for until.

Package

doplus

Source

doplus.lisp (file)

Macro: sum VALUE &key TO

Syntactic sugar for collect, intended to be used when the accumulator computes a sum.

Package

doplus

Source

doplus.lisp (file)

Macro: summing-to VARS &optional RESULT-PROCESSOR

Specifies an accumulation strategy with 0 as the default value and + as the accumulator function.

Package

doplus

Source

doplus.lisp (file)

Macro: summing-to-and-returning VARS &optional RESULT-PROCESSOR

Same as summing-to, but also returns the value of each <vars> at the end of the loop.

Package

doplus

Source

doplus.lisp (file)

Macro: symbols-in PACKAGE-OR-PACKAGES &rest SYMBOL-TYPES

Iterates over the symbols in one or more packages. Symbol-types follows the specification of cl:with-package-iterator.

Package

doplus

Source

doplus.lisp (file)

Macro: terminate &optional LOOP-NAME RETURN-VALUE

Immediately terminates the loop. Refers to the current loop or, if loop-name is specified and non-NIL, to the closest surrounding loop with that name. Can optionally specify a return value for the loop, which, if provided, will override the loop’s ordinary return value.

Package

doplus

Source

doplus.lisp (file)

Macro: to FINAL-VALUE &key FROM BY WHILE USING

Variation over from.

Package

doplus

Source

doplus.lisp (file)

Macro: try-update VAR &key ON-ERROR

Tries to update the generator named <var> as by UPDATE. If the loop would be terminated as a result of the update operation, it is not terminated.

Any errors occurring during the update are ignored by default; however, it is possible to provide a function to be invoked in case of error to determine what to do. This is the value of the <on-error> parameter, which, if provided, must be a function of two arguments: the first is the value to be returned as the result of the try-update form if the error is suppressed; the second is the condition object itself, which can be resignaled. Calling TERMINATE inside the function, if it is defined lexically inside the DO+ body, will regularly terminate the loop.

Package

doplus

Source

doplus.lisp (file)

Macro: update VAR

Updates the generator named <var>, calculating new value(s) for its variable(s) and evaluating its pre and post conditions, terminating the loop if they fail. If successful, the update returns the value of <var>.

Package

doplus

Source

doplus.lisp (file)

Macro: with &rest BINDINGS

Establishes bindings which are in effect for the whole loop.

Package

doplus

Source

doplus.lisp (file)


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

5.1.3 Functions

Function: make-binding VAR &key DEFAULT
Package

doplus

Source

doplus.lisp (file)

Function: make-epilogue &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-finalization &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-initialization &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-iteration &key BINDINGS INITIALIZATIONS STEPS PRECONDITIONS POSTCONDITIONS

General iteration clause generator.

Package

doplus

Source

doplus.lisp (file)

Function: make-prologue &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-result &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-simple-iteration &key VAR INIT STEP PRECONDITION POSTCONDITION

Specialized iteration clause generator, where the iteration clause refers to a single variable, possibly with an initial value, step form, precondition, or postcondition.

Package

doplus

Source

doplus.lisp (file)

Function: make-step &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-termination &key (CONDITION CONDITION)
Package

doplus

Source

doplus.lisp (file)


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

5.1.4 Structures

Structure: options ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: map
Readers

options-map (function)

Writers

(setf options-map) (function)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *clauses*

A list of known symbols that name clause macros, useful for introspection and documentation purposes.

Package

doplus

Source

doplus.lisp (file)


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

5.2.2 Macros

Macro: declaring THING

Causes the emission of a (declare <thing>) form in the declaration section of the loop.

Package

doplus

Source

doplus.lisp (file)

Macro: do+/internal DOPLUS-ENV &body BODY
Package

doplus

Source

doplus.lisp (file)

Macro: until CONDITION

Specifies a termination clause for the loop. When, at the beginning of an iteration, the clause evaluates to true, the loop stops.

Package

doplus

Source

doplus.lisp (file)

Macro: while CONDITION

Same as (until (not <condition>)).

Package

doplus

Source

doplus.lisp (file)

Macro: with-atomic-updates (&rest VARIABLES) &body BODY
Package

doplus

Source

doplus.lisp (file)

Macro: with-atomic-updates* (&rest VARIABLES) BINDING-FORM &body BODY
Package

doplus

Source

doplus.lisp (file)

Macro: with-doplus-body ENV &body BODY
Package

doplus

Source

doplus.lisp (file)

Macro: without-atomic-updates (&rest VARIABLES) &body BODY
Package

doplus

Source

doplus.lisp (file)


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

5.2.3 Functions

Function: %make-binding &key (VAR VAR) (DEFAULT DEFAULT) (DEFAULT-PROVIDED? DEFAULT-PROVIDED?)
Package

doplus

Source

doplus.lisp (file)

Function: accumulator-function INSTANCE
Function: (setf accumulator-function) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: accumulator-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: accumulator-var INSTANCE
Function: (setf accumulator-var) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: binding-default INSTANCE
Function: (setf binding-default) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: binding-default-provided? INSTANCE
Function: (setf binding-default-provided?) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: binding-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: binding-var INSTANCE
Function: (setf binding-var) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-accumulator INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-binding INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-declaration INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-doplus-env INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-epilogue INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-finalization INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-generator INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-initialization INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-options INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-prologue INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-result INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-step INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-termination INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: copy-wrapper INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: declaration-form INSTANCE
Function: (setf declaration-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: declaration-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-accumulators INSTANCE
Function: (setf doplus-env-accumulators) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-default-collect-var INSTANCE
Function: (setf doplus-env-default-collect-var) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-generators INSTANCE
Function: (setf doplus-env-generators) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-loop-name INSTANCE
Function: (setf doplus-env-loop-name) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-parent INSTANCE
Function: (setf doplus-env-parent) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-skip-label INSTANCE
Function: (setf doplus-env-skip-label) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: doplus-env-terminate-label INSTANCE
Function: (setf doplus-env-terminate-label) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: ensure-list OBJ

(if (listp obj) obj (list obj))

Package

doplus

Source

doplus.lisp (file)

Function: epilogue-form INSTANCE
Function: (setf epilogue-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: epilogue-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: expand-with-simple-destructuring FORM ENV

Expand ‘form’ in ‘env’ as an iteration form that assigns to ‘*iteration-variable*’ destructuring as by ‘destructuring-bind’.

Package

doplus

Source

doplus.lisp (file)

Function: extract-variables LAMBDA-LIST
Package

doplus

Source

destructuring.lisp (file)

Function: finalization-form INSTANCE
Function: (setf finalization-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: finalization-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: find-generator NAME ENV
Package

doplus

Source

doplus.lisp (file)

Function: find-loop-in-env NAME ENV
Package

doplus

Source

doplus.lisp (file)

Function: generator-clauses INSTANCE
Function: (setf generator-clauses) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: generator-name INSTANCE
Function: (setf generator-name) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: generator-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: initialization-form INSTANCE
Function: (setf initialization-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: initialization-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: make-accumulator &key (VAR VAR) (FUNCTION FUNCTION)
Package

doplus

Source

doplus.lisp (file)

Function: make-declaration &key (FORM FORM)
Package

doplus

Source

doplus.lisp (file)

Function: make-destructuring-form LAMBDA-LIST EXPRESSION
Package

doplus

Source

destructuring.lisp (file)

Function: make-doplus-env &key (LOOP-NAME LOOP-NAME) (SKIP-LABEL SKIP-LABEL) (TERMINATE-LABEL TERMINATE-LABEL) (DEFAULT-COLLECT-VAR DEFAULT-COLLECT-VAR) (ACCUMULATORS ACCUMULATORS) (GENERATORS GENERATORS) (PARENT PARENT)
Package

doplus

Source

doplus.lisp (file)

Function: make-generator &key (NAME NAME) (CLAUSES CLAUSES)
Package

doplus

Source

doplus.lisp (file)

Function: make-options &key (MAP MAP)
Package

doplus

Source

doplus.lisp (file)

Function: make-wrapper &key (FUNCTION FUNCTION)
Package

doplus

Source

doplus.lisp (file)

Function: options-map INSTANCE
Function: (setf options-map) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: options-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: prologue-form INSTANCE
Function: (setf prologue-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: prologue-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: result-form INSTANCE
Function: (setf result-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: result-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: step-form INSTANCE
Function: (setf step-form) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: step-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: termination-condition INSTANCE
Function: (setf termination-condition) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: termination-p OBJECT
Package

doplus

Source

doplus.lisp (file)

Function: wrapper-function INSTANCE
Function: (setf wrapper-function) VALUE INSTANCE
Package

doplus

Source

doplus.lisp (file)

Function: wrapper-p OBJECT
Package

doplus

Source

doplus.lisp (file)


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

5.2.4 Structures

Structure: accumulator ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: var
Readers

accumulator-var (function)

Writers

(setf accumulator-var) (function)

Slot: function
Readers

accumulator-function (function)

Writers

(setf accumulator-function) (function)

Structure: binding ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: var
Readers

binding-var (function)

Writers

(setf binding-var) (function)

Slot: default
Readers

binding-default (function)

Writers

(setf binding-default) (function)

Slot: default-provided?
Readers

binding-default-provided? (function)

Writers

(setf binding-default-provided?) (function)

Structure: declaration ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

declaration-form (function)

Writers

(setf declaration-form) (function)

Structure: doplus-env ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: loop-name
Readers

doplus-env-loop-name (function)

Writers

(setf doplus-env-loop-name) (function)

Slot: skip-label
Readers

doplus-env-skip-label (function)

Writers

(setf doplus-env-skip-label) (function)

Slot: terminate-label
Readers

doplus-env-terminate-label (function)

Writers

(setf doplus-env-terminate-label) (function)

Slot: default-collect-var
Readers

doplus-env-default-collect-var (function)

Writers

(setf doplus-env-default-collect-var) (function)

Slot: accumulators
Readers

doplus-env-accumulators (function)

Writers

(setf doplus-env-accumulators) (function)

Slot: generators
Readers

doplus-env-generators (function)

Writers

(setf doplus-env-generators) (function)

Slot: parent
Readers

doplus-env-parent (function)

Writers

(setf doplus-env-parent) (function)

Structure: epilogue ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

epilogue-form (function)

Writers

(setf epilogue-form) (function)

Structure: finalization ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

finalization-form (function)

Writers

(setf finalization-form) (function)

Structure: generator ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: name
Readers

generator-name (function)

Writers

(setf generator-name) (function)

Slot: clauses
Readers

generator-clauses (function)

Writers

(setf generator-clauses) (function)

Structure: initialization ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

initialization-form (function)

Writers

(setf initialization-form) (function)

Structure: prologue ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

prologue-form (function)

Writers

(setf prologue-form) (function)

Structure: result ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

result-form (function)

Writers

(setf result-form) (function)

Structure: step ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: form
Readers

step-form (function)

Writers

(setf step-form) (function)

Structure: termination ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: condition
Readers

termination-condition (function)

Writers

(setf termination-condition) (function)

Structure: wrapper ()
Package

doplus

Source

doplus.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: function
Readers

wrapper-function (function)

Writers

(setf wrapper-function) (function)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   D   F   L   O  
Index Entry  Section

D
doplus.asd: The doplus<dot>asd file
doplus/destructuring.lisp: The doplus/destructuring<dot>lisp file
doplus/doplus.asd: The doplus/doplus<dot>asd file
doplus/doplus.lisp: The doplus/doplus<dot>lisp file
doplus/packages.lisp: The doplus/packages<dot>lisp file

F
File, Lisp, doplus.asd: The doplus<dot>asd file
File, Lisp, doplus/destructuring.lisp: The doplus/destructuring<dot>lisp file
File, Lisp, doplus/doplus.lisp: The doplus/doplus<dot>lisp file
File, Lisp, doplus/packages.lisp: The doplus/packages<dot>lisp file
File, other, doplus/doplus.asd: The doplus/doplus<dot>asd file

L
Lisp File, doplus.asd: The doplus<dot>asd file
Lisp File, doplus/destructuring.lisp: The doplus/destructuring<dot>lisp file
Lisp File, doplus/doplus.lisp: The doplus/doplus<dot>lisp file
Lisp File, doplus/packages.lisp: The doplus/packages<dot>lisp file

O
Other File, doplus/doplus.asd: The doplus/doplus<dot>asd file

Jump to:   D   F   L   O  

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

A.2 Functions

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

%
%make-binding: Internal functions

(
(setf accumulator-function): Internal functions
(setf accumulator-var): Internal functions
(setf binding-default): Internal functions
(setf binding-default-provided?): Internal functions
(setf binding-var): Internal functions
(setf declaration-form): Internal functions
(setf doplus-env-accumulators): Internal functions
(setf doplus-env-default-collect-var): Internal functions
(setf doplus-env-generators): Internal functions
(setf doplus-env-loop-name): Internal functions
(setf doplus-env-parent): Internal functions
(setf doplus-env-skip-label): Internal functions
(setf doplus-env-terminate-label): Internal functions
(setf epilogue-form): Internal functions
(setf finalization-form): Internal functions
(setf generator-clauses): Internal functions
(setf generator-name): Internal functions
(setf initialization-form): Internal functions
(setf options-map): Internal functions
(setf prologue-form): Internal functions
(setf result-form): Internal functions
(setf step-form): Internal functions
(setf termination-condition): Internal functions
(setf wrapper-function): Internal functions

A
accumulating-to: Exported macros
accumulating-to-and-returning: Exported macros
accumulator-function: Internal functions
accumulator-p: Internal functions
accumulator-var: Internal functions
across: Exported macros

B
being: Exported macros
binding-default: Internal functions
binding-default-provided?: Internal functions
binding-p: Internal functions
binding-var: Internal functions

C
collect: Exported macros
collecting-into: Exported macros
collecting-into-and-returning: Exported macros
copy-accumulator: Internal functions
copy-binding: Internal functions
copy-declaration: Internal functions
copy-doplus-env: Internal functions
copy-epilogue: Internal functions
copy-finalization: Internal functions
copy-generator: Internal functions
copy-initialization: Internal functions
copy-options: Internal functions
copy-prologue: Internal functions
copy-result: Internal functions
copy-step: Internal functions
copy-termination: Internal functions
copy-wrapper: Internal functions
counting: Exported macros

D
declaration-form: Internal functions
declaration-p: Internal functions
declaring: Internal macros
defclause: Exported macros
do+: Exported macros
do+/internal: Internal macros
doplus-env-accumulators: Internal functions
doplus-env-default-collect-var: Internal functions
doplus-env-generators: Internal functions
doplus-env-loop-name: Internal functions
doplus-env-p: Internal functions
doplus-env-parent: Internal functions
doplus-env-skip-label: Internal functions
doplus-env-terminate-label: Internal functions

E
ensure-list: Internal functions
epilogue-form: Internal functions
epilogue-p: Internal functions
expand-with-simple-destructuring: Internal functions
extract-variables: Internal functions

F
finalization-form: Internal functions
finalization-p: Internal functions
finally: Exported macros
find-generator: Internal functions
find-loop-in-env: Internal functions
finding: Exported macros
for: Exported macros
from: Exported macros
Function, %make-binding: Internal functions
Function, (setf accumulator-function): Internal functions
Function, (setf accumulator-var): Internal functions
Function, (setf binding-default): Internal functions
Function, (setf binding-default-provided?): Internal functions
Function, (setf binding-var): Internal functions
Function, (setf declaration-form): Internal functions
Function, (setf doplus-env-accumulators): Internal functions
Function, (setf doplus-env-default-collect-var): Internal functions
Function, (setf doplus-env-generators): Internal functions
Function, (setf doplus-env-loop-name): Internal functions
Function, (setf doplus-env-parent): Internal functions
Function, (setf doplus-env-skip-label): Internal functions
Function, (setf doplus-env-terminate-label): Internal functions
Function, (setf epilogue-form): Internal functions
Function, (setf finalization-form): Internal functions
Function, (setf generator-clauses): Internal functions
Function, (setf generator-name): Internal functions
Function, (setf initialization-form): Internal functions
Function, (setf options-map): Internal functions
Function, (setf prologue-form): Internal functions
Function, (setf result-form): Internal functions
Function, (setf step-form): Internal functions
Function, (setf termination-condition): Internal functions
Function, (setf wrapper-function): Internal functions
Function, accumulator-function: Internal functions
Function, accumulator-p: Internal functions
Function, accumulator-var: Internal functions
Function, binding-default: Internal functions
Function, binding-default-provided?: Internal functions
Function, binding-p: Internal functions
Function, binding-var: Internal functions
Function, copy-accumulator: Internal functions
Function, copy-binding: Internal functions
Function, copy-declaration: Internal functions
Function, copy-doplus-env: Internal functions
Function, copy-epilogue: Internal functions
Function, copy-finalization: Internal functions
Function, copy-generator: Internal functions
Function, copy-initialization: Internal functions
Function, copy-options: Internal functions
Function, copy-prologue: Internal functions
Function, copy-result: Internal functions
Function, copy-step: Internal functions
Function, copy-termination: Internal functions
Function, copy-wrapper: Internal functions
Function, declaration-form: Internal functions
Function, declaration-p: Internal functions
Function, doplus-env-accumulators: Internal functions
Function, doplus-env-default-collect-var: Internal functions
Function, doplus-env-generators: Internal functions
Function, doplus-env-loop-name: Internal functions
Function, doplus-env-p: Internal functions
Function, doplus-env-parent: Internal functions
Function, doplus-env-skip-label: Internal functions
Function, doplus-env-terminate-label: Internal functions
Function, ensure-list: Internal functions
Function, epilogue-form: Internal functions
Function, epilogue-p: Internal functions
Function, expand-with-simple-destructuring: Internal functions
Function, extract-variables: Internal functions
Function, finalization-form: Internal functions
Function, finalization-p: Internal functions
Function, find-generator: Internal functions
Function, find-loop-in-env: Internal functions
Function, generator-clauses: Internal functions
Function, generator-name: Internal functions
Function, generator-p: Internal functions
Function, initialization-form: Internal functions
Function, initialization-p: Internal functions
Function, make-accumulator: Internal functions
Function, make-binding: Exported functions
Function, make-declaration: Internal functions
Function, make-destructuring-form: Internal functions
Function, make-doplus-env: Internal functions
Function, make-epilogue: Exported functions
Function, make-finalization: Exported functions
Function, make-generator: Internal functions
Function, make-initialization: Exported functions
Function, make-iteration: Exported functions
Function, make-options: Internal functions
Function, make-prologue: Exported functions
Function, make-result: Exported functions
Function, make-simple-iteration: Exported functions
Function, make-step: Exported functions
Function, make-termination: Exported functions
Function, make-wrapper: Internal functions
Function, options-map: Internal functions
Function, options-p: Internal functions
Function, prologue-form: Internal functions
Function, prologue-p: Internal functions
Function, result-form: Internal functions
Function, result-p: Internal functions
Function, step-form: Internal functions
Function, step-p: Internal functions
Function, termination-condition: Internal functions
Function, termination-p: Internal functions
Function, wrapper-function: Internal functions
Function, wrapper-p: Internal functions

G
generating: Exported macros
generator-clauses: Internal functions
generator-name: Internal functions
generator-p: Internal functions

H
hash-entries-of: Exported macros

I
in: Exported macros
in-list: Exported macros
in-vector: Exported macros
initialization-form: Internal functions
initialization-p: Internal functions
initially: Exported macros

L
list-tails: Exported macros

M
Macro, accumulating-to: Exported macros
Macro, accumulating-to-and-returning: Exported macros
Macro, across: Exported macros
Macro, being: Exported macros
Macro, collect: Exported macros
Macro, collecting-into: Exported macros
Macro, collecting-into-and-returning: Exported macros
Macro, counting: Exported macros
Macro, declaring: Internal macros
Macro, defclause: Exported macros
Macro, do+: Exported macros
Macro, do+/internal: Internal macros
Macro, finally: Exported macros
Macro, finding: Exported macros
Macro, for: Exported macros
Macro, from: Exported macros
Macro, generating: Exported macros
Macro, hash-entries-of: Exported macros
Macro, in: Exported macros
Macro, in-list: Exported macros
Macro, in-vector: Exported macros
Macro, initially: Exported macros
Macro, list-tails: Exported macros
Macro, maximizing: Exported macros
Macro, minimizing: Exported macros
Macro, optimizing: Exported macros
Macro, options: Exported macros
Macro, previous: Exported macros
Macro, returning: Exported macros
Macro, skip: Exported macros
Macro, stop-when: Exported macros
Macro, sum: Exported macros
Macro, summing-to: Exported macros
Macro, summing-to-and-returning: Exported macros
Macro, symbols-in: Exported macros
Macro, terminate: Exported macros
Macro, to: Exported macros
Macro, try-update: Exported macros
Macro, until: Internal macros
Macro, update: Exported macros
Macro, while: Internal macros
Macro, with: Exported macros
Macro, with-atomic-updates: Internal macros
Macro, with-atomic-updates*: Internal macros
Macro, with-doplus-body: Internal macros
Macro, without-atomic-updates: Internal macros
make-accumulator: Internal functions
make-binding: Exported functions
make-declaration: Internal functions
make-destructuring-form: Internal functions
make-doplus-env: Internal functions
make-epilogue: Exported functions
make-finalization: Exported functions
make-generator: Internal functions
make-initialization: Exported functions
make-iteration: Exported functions
make-options: Internal functions
make-prologue: Exported functions
make-result: Exported functions
make-simple-iteration: Exported functions
make-step: Exported functions
make-termination: Exported functions
make-wrapper: Internal functions
maximizing: Exported macros
minimizing: Exported macros

O
optimizing: Exported macros
options: Exported macros
options-map: Internal functions
options-p: Internal functions

P
previous: Exported macros
prologue-form: Internal functions
prologue-p: Internal functions

R
result-form: Internal functions
result-p: Internal functions
returning: Exported macros

S
skip: Exported macros
step-form: Internal functions
step-p: Internal functions
stop-when: Exported macros
sum: Exported macros
summing-to: Exported macros
summing-to-and-returning: Exported macros
symbols-in: Exported macros

T
terminate: Exported macros
termination-condition: Internal functions
termination-p: Internal functions
to: Exported macros
try-update: Exported macros

U
until: Internal macros
update: Exported macros

W
while: Internal macros
with: Exported macros
with-atomic-updates: Internal macros
with-atomic-updates*: Internal macros
with-doplus-body: Internal macros
without-atomic-updates: Internal macros
wrapper-function: Internal functions
wrapper-p: Internal functions

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

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

A.3 Variables

Jump to:   *  
A   C   D   F   G   L   M   N   P   S   T   V  
Index Entry  Section

*
*clauses*: Internal special variables
*iteration-variable*: Exported special variables

A
accumulators: Internal structures

C
clauses: Internal structures
condition: Internal structures

D
default: Internal structures
default-collect-var: Internal structures
default-provided?: Internal structures

F
form: Internal structures
form: Internal structures
form: Internal structures
form: Internal structures
form: Internal structures
form: Internal structures
form: Internal structures
function: Internal structures
function: Internal structures

G
generators: Internal structures

L
loop-name: Internal structures

M
map: Exported structures

N
name: Internal structures

P
parent: Internal structures

S
skip-label: Internal structures
Slot, accumulators: Internal structures
Slot, clauses: Internal structures
Slot, condition: Internal structures
Slot, default: Internal structures
Slot, default-collect-var: Internal structures
Slot, default-provided?: Internal structures
Slot, form: Internal structures
Slot, form: Internal structures
Slot, form: Internal structures
Slot, form: Internal structures
Slot, form: Internal structures
Slot, form: Internal structures
Slot, form: Internal structures
Slot, function: Internal structures
Slot, function: Internal structures
Slot, generators: Internal structures
Slot, loop-name: Internal structures
Slot, map: Exported structures
Slot, name: Internal structures
Slot, parent: Internal structures
Slot, skip-label: Internal structures
Slot, terminate-label: Internal structures
Slot, var: Internal structures
Slot, var: Internal structures
Special Variable, *clauses*: Internal special variables
Special Variable, *iteration-variable*: Exported special variables

T
terminate-label: Internal structures

V
var: Internal structures
var: Internal structures

Jump to:   *  
A   C   D   F   G   L   M   N   P   S   T   V  

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

A.4 Data types

Jump to:   A   B   D   E   F   G   I   O   P   R   S   T   W  
Index Entry  Section

A
accumulator: Internal structures

B
binding: Internal structures

D
declaration: Internal structures
doplus: The doplus system
doplus: The doplus package
doplus-env: Internal structures

E
epilogue: Internal structures

F
finalization: Internal structures

G
generator: Internal structures

I
initialization: Internal structures

O
options: Exported structures

P
Package, doplus: The doplus package
prologue: Internal structures

R
result: Internal structures

S
step: Internal structures
Structure, accumulator: Internal structures
Structure, binding: Internal structures
Structure, declaration: Internal structures
Structure, doplus-env: Internal structures
Structure, epilogue: Internal structures
Structure, finalization: Internal structures
Structure, generator: Internal structures
Structure, initialization: Internal structures
Structure, options: Exported structures
Structure, prologue: Internal structures
Structure, result: Internal structures
Structure, step: Internal structures
Structure, termination: Internal structures
Structure, wrapper: Internal structures
System, doplus: The doplus system

T
termination: Internal structures

W
wrapper: Internal structures

Jump to:   A   B   D   E   F   G   I   O   P   R   S   T   W