The rutils Reference Manual

Table of Contents

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

The rutils Reference Manual

This is the rutils Reference Manual, version 5.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Fri Jun 26 12:09:46 2020 GMT+0.


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

1 Introduction

RUTILS is a syntactic utilities package for Common Lisp

RUTILS logo

(that aims to radically simplify the Lisp programmer's life both in the REPL and in large system development)

RUTILS stands for RADICAL-UTILITIES :)

See the announcement.

Read the tutorial for usage details or the quickdocs.

Short history

Originally, RUTILS stood for REASONABLE-UTILITIES, but now I switched to calling them RADICAL-UTILITIES, because they make some uncommon and not generally acceptable choices in terms of style of CL development. Namely:

But, what's more important, they aim to radically simplify Lisp programming in the small (with a special accent on simplifying REPL-driven development).

See the original rationale for REASONABLE-UTILITIES.

The current version is 5.0.0.

Major Features

Explicitly not supported

The following broad topics are not supported by design:

Technical notes

Dependencies

Exported features

The following symbols are added to *FEATURES*:

Organizational notes

(c) 2009-2019, Vsevolod Dyomkin vseloved@gmail.com

See LICENSE for usage permissions. See AUTHORS for credits.


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 rutils

Maintainer

Vsevolod Dyomkin <vseloved@gmail.com>

Author

Vsevolod Dyomkin <vseloved@gmail.com>

License

3-clause MIT licence

Description

A collection of basic utilities for syntactic
extension and basic data structure hadling,
developed over the years of CL history by efforts of different individuals, and gathered under the unbrella of a hierarchy of packages
which can be used on-demand.

Version

5.0.0

Dependencies
Source

rutils.asd (file)

Component

core (module)


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

3 Modules

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


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

3.1 rutils/core

Parent

rutils (system)

Location

core/

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 rutils.asd

Location

rutils.asd

Systems

rutils (system)


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

4.1.2 rutils/core/packages.lisp

Parent

core (module)

Location

core/packages.lisp

Packages
Exported Definitions

+default-opts+ (special variable)


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

4.1.3 rutils/core/readtable.lisp

Dependency

packages.lisp (file)

Parent

core (module)

Location

core/readtable.lisp

Exported Definitions
Internal Definitions

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

4.1.4 rutils/core/symbol.lisp

Dependency

readtable.lisp (file)

Parent

core (module)

Location

core/symbol.lisp

Exported Definitions

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

4.1.5 rutils/core/misc.lisp

Dependency

symbol.lisp (file)

Parent

core (module)

Location

core/misc.lisp

Exported Definitions
Internal Definitions

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

4.1.6 rutils/core/anaphora.lisp

Dependency

misc.lisp (file)

Parent

core (module)

Location

core/anaphora.lisp

Exported Definitions

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

4.1.7 rutils/core/list.lisp

Dependency

anaphora.lisp (file)

Parent

core (module)

Location

core/list.lisp

Exported Definitions

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

4.1.8 rutils/core/string.lisp

Dependency

list.lisp (file)

Parent

core (module)

Location

core/string.lisp

Exported Definitions

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

4.1.9 rutils/core/hash-table.lisp

Dependency

string.lisp (file)

Parent

core (module)

Location

core/hash-table.lisp

Exported Definitions

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

4.1.10 rutils/core/hash-set.lisp

Dependency

hash-table.lisp (file)

Parent

core (module)

Location

core/hash-set.lisp

Exported Definitions

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

4.1.11 rutils/core/tree.lisp

Dependency

hash-set.lisp (file)

Parent

core (module)

Location

core/tree.lisp

Exported Definitions

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

4.1.12 rutils/core/array.lisp

Dependency

tree.lisp (file)

Parent

core (module)

Location

core/array.lisp

Exported Definitions

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

4.1.13 rutils/core/sequence.lisp

Dependency

array.lisp (file)

Parent

core (module)

Location

core/sequence.lisp

Exported Definitions
Internal Definitions

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

4.1.14 rutils/core/pair.lisp

Dependency

sequence.lisp (file)

Parent

core (module)

Location

core/pair.lisp

Exported Definitions
Internal Definitions

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

4.1.15 rutils/core/kv.lisp

Dependency

pair.lisp (file)

Parent

core (module)

Location

core/kv.lisp

Exported Definitions

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

4.1.16 rutils/core/generic.lisp

Dependency

kv.lisp (file)

Parent

core (module)

Location

core/generic.lisp

Exported Definitions
Internal Definitions

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

4.1.17 rutils/core/bind.lisp

Dependency

generic.lisp (file)

Parent

core (module)

Location

core/bind.lisp

Exported Definitions
Internal Definitions

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

4.1.18 rutils/core/iter.lisp

Dependency

bind.lisp (file)

Parent

core (module)

Location

core/iter.lisp

Exported Definitions
Internal Definitions

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

4.1.19 rutils/core/abbr.lisp

Dependency

iter.lisp (file)

Parent

core (module)

Location

core/abbr.lisp

Exported Definitions

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

4.1.20 rutils/core/rutils.lisp

Dependency

abbr.lisp (file)

Parent

core (module)

Location

core/rutils.lisp

Internal Definitions

*all-packages* (special variable)


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

5 Packages

Packages are listed by definition order.


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

5.1 rutils.symbol

Core symbol-manipulation utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

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

5.2 rutils.anaphora

Anaphoric control constructs.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

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

5.3 rtl-user

CL-USER + RTL.

Source

packages.lisp (file)

Use List

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

5.4 rutils.kv

Key-value utilities.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions

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

5.5 rutils

The whole set of utilities in one package.

Source

packages.lisp (file)

Use List
Used By List
Internal Definitions

*all-packages* (special variable)


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

5.6 rutils.hash-set

Hash-set utilities.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions

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

5.7 rutils.array

Array utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

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

5.8 rutils.list

List utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

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

5.9 rutils.pair

Generic pair data structure.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

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

5.10 rutils.tree

Tree utilities.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions

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

5.11 rutils.misc

Assorted small utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

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

5.12 rutils.abbr

Abbreviations of some common utilities with long names.

Source

packages.lisp (file)

Use List
Used By List

rtl

Exported Definitions

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

5.13 rutils.string

String utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

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

5.14 rutils-user

CL-USER + RUTILS.

Source

packages.lisp (file)

Use List

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

5.15 rutils.hash-table

Hash-table utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

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

5.16 rutils.iter

Iterate macro with keywords for clauses.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions
Internal Definitions

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

5.17 rutils.generic

Generic access, copy, tally.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

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

5.18 rutils.bind

Unified extensible bind operator.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions
Internal Definitions

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

5.19 rutils.sequence

Sequence utilities, including SPLIT-SEQUENCE.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions
Internal Definitions

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

5.20 rutils.readtable

Literate syntax definitions.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

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

5.21 rtl

The whole set of utilities + abbreviations in one package.

Source

packages.lisp (file)

Nickname

rutil

Use List
Used By List

rtl-user


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: +default-opts+

Default optimization settings for RUTILS.

Package

rutils.readtable

Source

packages.lisp (file)

Special Variable: iter-version

Current version of Iterate.

Package

rutils.iter

Source

iter.lisp (file)


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

6.1.2 Macros

Macro: -> X &rest FORMS

Threads the expr through FORMS. Inserts X as the
second item in the first form, or in place of % if it is present in the form, making a list of it if it is not a list already.
If there are more forms, inserts the first form
as the second item in second form, etc.

Package

rutils.misc

Source

misc.lisp (file)

Macro: ->> X &rest FORMS

Threads the expr through FORMS. Inserts X as the
last item in the first form, or in place of % if it is present in the form, making a list of it if it is not a list already.
If there are more forms, inserts the first form
as the last item in second form, etc.

Package

rutils.misc

Source

misc.lisp (file)

Macro: 2nd FORM

(NTH-VALUE 1 FORM)

Package

rutils.misc

Source

misc.lisp (file)

Macro: => FN1 FN2 &rest FNS

Function composition of FN1, FN2 and all the other FNS.

Package

rutils.misc

Source

misc.lisp (file)

Macro: aand &rest ARGS

Like AND. IT is bound to the value of the previous AND form.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: abbr SHORT LONG &optional LAMBDA-LIST

Abbreviate LONG macro or function name as SHORT.
If LAMBDA-LIST is present, also copy appropriate SETF-expander.

Package

rutils.symbol

Source

symbol.lisp (file)

Macro: acond &body BODY

Like COND. IT is bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: adowhile TEST &body BODY

Like DOWHILE. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: aif TEST THEN &optional ELSE

Like IF. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: and-bind VAR &rest ARGS

Like AND. VAR will be bound to the value of the previous AND form

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: and-it &rest ARGS

Like AND. IT is bound to the value of the previous AND form.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: and-let VAR &rest ARGS

Like AND. VAR will be bound to the value of the previous AND form

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: appendf PLACE &rest LISTS

Modify-macro for APPEND. Appends LISTS to the place designated by the first argument.

Package

rutils.list

Source

list.lisp (file)

Macro: awhen TEST &body BODY

Like WHEN. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: bind (&rest BINDINGS) &body BODY

Bind variables from BINDINGS to be active inside BODY, as if by LET*, combined with MULTIPLE-VALUE-BIND, DESTRUCTURING-BIND and other -bind forms, depending on the type of the first argument.

Package

rutils.bind

Source

bind.lisp (file)

Macro: coercef PLACE TYPE-SPEC

Modify-macro for COERCE.

Package

rutils.misc

Source

misc.lisp (file)

Macro: cond-bind VAR &body BODY

Like COND. VAR will be bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: cond-it &body BODY

Like COND. IT is bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: cond-let VAR &body BODY

Like COND. VAR will be bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: cswitch (OBJECT &key TEST KEY) &body CLAUSES

Like SWITCH, but signals a continuable error if no key matches.

Package

rutils.misc

Source

misc.lisp (file)

Macro: dcase KEYFORM &body CLAUSES

DCASE is a combination of CASE and DESTRUCTURING-BIND.
KEYFORM must evaluate to a CONS.

Clauses are of the form:

((CASE-KEYS . DESTRUCTURING-LAMBDA-LIST) FORM*)

The clause whose CASE-KEYS matches CAR of KEY, as if by CASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and bound by the DESTRUCTURING-LAMBDA-LIST.

Package

rutils.misc

Source

misc.lisp (file)

Macro: dccase KEYFORM &body CLAUSES

DCCASE is a combination of CCASE and DESTRUCTURING-BIND.
KEYFORM must evaluate to a CONS.

Clauses are of the form:

((CASE-KEYS . DESTRUCTURING-LAMBDA-LIST) FORM*)

The clause whose CASE-KEYS matches CAR of KEY, as if by CCASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and bound by the DESTRUCTURING-LAMBDA-LIST.

Package

rutils.misc

Source

misc.lisp (file)

Macro: decase KEYFORM &body CLAUSES

DECASE is a combination of ECASE and DESTRUCTURING-BIND.
KEYFORM must evaluate to a CONS.

Clauses are of the form:

((CASE-KEYS . DESTRUCTURING-LAMBDA-LIST) FORM*)

The clause whose CASE-KEYS matches CAR of KEY, as if by ECASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and bound by the DESTRUCTURING-LAMBDA-LIST.

Package

rutils.misc

Source

misc.lisp (file)

Macro: defclause CLAUSE-TEMPLATE &body BODY

Macro for defining iterate clauses (with DEFUN).

Package

rutils.iter

Source

iter.lisp (file)

Macro: defclause-driver CLAUSE-TEMPLATE &body BODY

Macro for for defining (with DEFUN) iterators, which may also be used as generators.

Package

rutils.iter

Source

iter.lisp (file)

Macro: defclause-sequence ELEMENT-NAME INDEX-NAME &key ACCESS-FN SIZE-FN ELEMENT-TYPE SEQUENCE-TYPE ELEMENT-DOC-STRING INDEX-DOC-STRING

A simple way to define a FOR-like &sequence clause.

Package

rutils.iter

Source

iter.lisp (file)

Macro: defmacro-clause CLAUSE-TEMPLATE &body BODY

Macro for defining iterate clauses (with DEFMACRO).

Package

rutils.iter

Source

iter.lisp (file)

Macro: defmacro-driver CLAUSE-TEMPLATE &body BODY

Macro for for defining iterators (with DEFMACRO), which may also be used as generators.

Package

rutils.iter

Source

iter.lisp (file)

Macro: defpar VAR VAL &optional DOC

Define a parameter that is not normally changed by the program, but that may be changed without causing an error. Declare the variable special and sets its value to VAL, overwriting any previous value. The third argument is an optional documentation string for the parameter.

Package

rutils.abbr

Source

SYS:SRC;CODE;DEFBOOT.LISP (not found)

Macro: deletef PLACE ITEM &rest REMOVE-KEYWORDS

Modify-macro for DELETE. Sets place designated by the first argument to the result of calling DELETE with ITEM, place, and the REMOVE-KEYWORDS.

Package

rutils.sequence

Source

sequence.lisp (file)

Macro: doindex (INDEX-VAR ELT-VAR SEQUENCE &optional RESULT-FORM) &body BODY

Iterates over a sequence while keeping track of an index. A DO-style macro.

Example usage:

CL-USER> (doindex (i e ’(a b c))
(format T "~&~S ~S" i e))
1 a
2 b
3 c

Package

rutils.sequence

Source

sequence.lisp (file)

Macro: dokv (K V KV &optional REZ) &body BODY

Like DOLIST but iterates over key-value pairs (K V) in anything, that can be viewed as a KV (hash-table, alist, plist, object).
Autodeclares variables named _ as ignored.

Package

rutils.kv

Source

kv.lisp (file)

Macro: doleaves (NODE TREE &optional RESULT) &body BODY

Iterate over each leaf NODE of the TREE in depth-first order. Optionally return RESULT.

Package

rutils.tree

Source

tree.lisp (file)

Macro: dolines (LINE SRC &optional RESULT) &body BODY

Iterate over each LINE in SRC (a stream or path to a file) as in DOLIST.

Package

rutils.string

Source

string.lisp (file)

Macro: doplist (KEY VAL PLIST &optional REZ) &body BODY

Like DOLIST but iterate over 2 items of the PLIST at once, onsidered KEY and VAL. Asserts proper PLIST.

Package

rutils.list

Source

list.lisp (file)

Macro: dotable (K V TABLE &optional REZ) &body BODY

Like DOLIST but iterates over key-value pairs (K V) in anything, that can be viewed as a table (hash-table, alist, plist, object).
Autodeclares variables named _ as ignored.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: dotree (SUBTREE TREE &optional RESULT) &body BODY

Iterate over each SUBTREE of the TREE in depth-first order. Optionally return RESULT.

Package

rutils.tree

Source

tree.lisp (file)

Macro: dovec (VAR VEC &optional RESULT-FORM) &body BODY

Iterates over a vector (like in DOLIST).

Package

rutils.array

Source

array.lisp (file)

Macro: dowhile-bind (VAR TEST) &body BODY

Like DOWHILE. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: dowhile-it TEST &body BODY

Like DOWHILE. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: dowhile-let (VAR TEST) &body BODY

Like DOWHILE. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: ds-bind LAMBDA-LIST EXPRESSION &body BODY

Bind the variables in LAMBDA-LIST to the corresponding values in the tree structure resulting from the evaluation of EXPRESSION.

Package

rutils.abbr

Source

SYS:SRC;CODE;DESTRUCTURING-BIND.LISP (not found)

Macro: dsetq TEMPLATE VALUE

Destructuring assignment; supports both (VALUES ...) for destructuring a multiple-value form and NIL as a variable name, meaning to ignore that position, e.g. (DSETQ (VALUES (A . B) NIL C) FORM).

Package

rutils.iter

Source

iter.lisp (file)

Macro: eswitch (OBJECT &key TEST KEY) &body CLAUSES

Like SWITCH, but signals an error if no key matches.

Package

rutils.misc

Source

misc.lisp (file)

Macro: eval-always &body BODY

Wrap BODY in eval-when with all keys (compile, load and execute) mentioned.

Package

rutils.symbol

Source

symbol.lisp (file)

Macro: flet* &rest BODY

An abbreviation for LABELS.

Package

rutils.abbr

Source

abbr.lisp (file)

Macro: fn NAME LAMBDA-LIST &body BODY

Expands into a lambda-expression within whose BODY NAME denotes the corresponding function.

Package

rutils.misc

Source

misc.lisp (file)

Macro: getset# KEY TABLE NEW-VALUE

Either get the value from TABLE by KEY or set a new calculated NEW-VALUE there and return it.
It’s similar to GETHASH called with 3 parameteres, but functions lazily.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: getsethash KEY TABLE NEW-VALUE

Either get the value from TABLE by KEY or set a new calculated NEW-VALUE there and return it.
It’s similar to GETHASH called with 3 parameteres, but functions lazily.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: if-bind (VAR TEST) THEN &optional ELSE

Like IF. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: if-it TEST THEN &optional ELSE

Like IF. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: if-let (VAR TEST) THEN &optional ELSE

Like IF. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: iter &body BODY

Jonathan Amsterdam’s powerful and extensible iteration facility, providing multiple accumulation, generators, memory of previous iterations, over 50 clauses to start with and a Lisp-like syntax. Evaluate (iter:display-iter-clauses) for an overview of clauses.

Package

rutils.iter

Source

iter.lisp (file)

Macro: listcase LIST &body CASES

A typecase-like macro to destinguish between 3 possible kinds of LIST: simple lists, alists, and dlists.
Evaluates the appropriate key-form depending on the kind: ALIST, DLIST or simple list (T).

Package

rutils.list

Source

list.lisp (file)

Macro: multiple-value-prog2 FIRST-FORM SECOND-FORM &body FORMS

Evaluates FIRST-FORM, then SECOND-FORM, and then FORMS. Yields as its value all the value returned by SECOND-FORM.

Package

rutils.misc

Source

misc.lisp (file)

Macro: mv-bind VARS VALUE-FORM &body BODY
Package

rutils.abbr

Source

SYS:SRC;CODE;DEFBOOT.LISP (not found)

Macro: named-lambda NAME LAMBDA-LIST &body BODY

Expands into a lambda-expression within whose BODY NAME denotes the corresponding function.

Package

rutils.misc

Source

misc.lisp (file)

Macro: nconcf PLACE &rest LISTS

Modify-macro for NCONC. Concatenates LISTS to place designated by the first argument.

Package

rutils.list

Source

list.lisp (file)

Macro: nreversef PLACE

Modify-macro for NREVERSE. Reverses the list stored in the given place by destructively modifying it and saves back the result into the place.

Package

rutils.list

Source

list.lisp (file)

Macro: nunionf PLACE LIST &rest ARGS

Modify-macro for NUNION. Saves the union of LIST and the contents of the place designated by the first argument to the designated place. May modify either argument.

Package

rutils.list

Source

list.lisp (file)

Macro: once-only SPECS &body FORMS

Evaluate FORMS with names rebound to temporary variables, ensuring that each is evaluated only once.

Each SPEC must be either a NAME, or a (NAME INITFORM), with plain NAME using the named variable as initform.

Example:

CL-USER> (defmacro cons1 (x)
(once-only (x)
‘(cons ,x ,x)))
CL-USER> (let ((y 0))
(cons1 (incf y)))
(1 . 1)

Package

rutils.misc

Source

misc.lisp (file)

Macro: pcase PRED KEYFORM &rest CLAUSES

Like CASE, but uses given PRED instead of EQL to select appropriate CLAUSE.

Example usage:

CL-USER> (pcase ’< 1
(0 (print "Below zero"))
(2 (print "OK"))
(otherwise (error "Oops")))

Package

rutils.misc

Source

misc.lisp (file)

Macro: pccase PRED KEYFORM &rest CLAUSES

Like CCASE, but uses given PRED instead of EQL to select appropriate CLAUSE.

Example usage:

CL-USER> (pccase ’< 1
(0 (print "Below zero"))
(2 (print "OK")))

Package

rutils.misc

Source

misc.lisp (file)

Macro: pecase PRED KEYFORM &rest CLAUSES

Like ECASE, but uses given PRED instead of EQL to select appropriate CLAUSE.

Example usage:

CL-USER> (pecase ’< 1
(0 (print "Below zero"))
(2 (print "OK")))

Package

rutils.misc

Source

misc.lisp (file)

Macro: re-setf VAR &rest CLAUSES

SETFs VAR to the value of each clause subsequently. Re-uses the new value of VAR in subsequent clauses. Expects VAR to be a valid place for SETF.

Package

rutils.misc

Source

misc.lisp (file)

Macro: removef PLACE ITEM &rest REMOVE-KEYWORDS

Modify-macro for REMOVE. Sets place designated by the first argument to the result of calling REMOVE with ITEM, place, and the REMOVE-KEYWORDS.

Package

rutils.sequence

Source

sequence.lisp (file)

Macro: reversef PLACE

Modify-macro for REVERSE. Copies and reverses the list stored in the given place and saves back the result into the place.

Package

rutils.list

Source

list.lisp (file)

Macro: switch (OBJECT &key TEST KEY) &body CLAUSES

Evaluate first matching clause, returning its values, or evaluates and returns the values of DEFAULT if no keys match.

Package

rutils.misc

Source

misc.lisp (file)

Macro: unionf PLACE LIST &rest ARGS

Modify-macro for UNION. Saves the union of LIST and the contents of the place designated by the first argument to the designated place.

Package

rutils.list

Source

list.lisp (file)

Macro: void PLACE

Nullify PLACE.

Package

rutils.misc

Source

misc.lisp (file)

Macro: w/instr (VAR STRING &key INDEX START END) &body FORMS-DECLS
Package

rutils.abbr

Source

SYS:SRC;CODE;MACROS.LISP (not found)

Macro: w/outstr (VAR &optional STRING &key ELEMENT-TYPE) &body FORMS-DECLS
Package

rutils.abbr

Source

SYS:SRC;CODE;MACROS.LISP (not found)

Macro: w/uniqs (&rest NAMES) &body BODY

Provide gensyms for given NAMES.

Package

rutils.symbol

Source

symbol.lisp (file)

Macro: when-bind (VAR TEST) &body BODY

Like WHEN. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: when-it TEST &body BODY

Like WHEN. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: when-let (VAR TEST) &body BODY

Like WHEN. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: with (&rest BINDINGS) &body BODY

Bind variables from BINDINGS to be active inside BODY, as if by LET*, combined with MULTIPLE-VALUE-BIND, DESTRUCTURING-BIND and other -bind forms, depending on the type of the first argument.

Package

rutils.bind

Source

bind.lisp (file)

Macro: with-gensyms (&rest NAMES) &body BODY

Provide gensyms for given NAMES.

Package

rutils.symbol

Source

symbol.lisp (file)

Macro: with-keys (&rest KV-PAIRS) HT &body BODY

Like WITH-ACCESSORS but for pairs in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: with-out-file (VAR PATH) &body BODY
Package

rutils.string

Source

string.lisp (file)

Macro: with-output-to-list (OUT) &body BODY

A simple list analog of WITH-OUTPUT-TO-STRING, which supports the general pattern of using list as an accumulator. OUT is bound to a fresh list, that will be returned nreversed. BODY is wraped in implicit block NIL.

Package

rutils.list

Source

list.lisp (file)

Macro: with-pair (LT RT) PAIR &body BODY

Bind LT and RT to PAIR’s slots and execute BODY inside.

Package

rutils.pair

Source

pair.lisp (file)

Macro: with-unique-names (&rest NAMES) &body BODY

Provide gensyms for given NAMES.

Package

rutils.symbol

Source

symbol.lisp (file)

Macro: xor &rest ARGS

Evaluates the ARGS one at a time. If more than one is T, evaluation stops and NIL is returned. If exactly one arg is T, that value is returned.

Package

rutils.misc

Source

misc.lisp (file)


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

6.1.3 Compiler macros

Compiler Macro: equal-lengths LENGTH &rest SEQUENCES
Package

rutils.sequence

Source

sequence.lisp (file)


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

6.1.4 Functions

Function: #/-reader STREAM CHAR ARG

Literal syntax for raw strings (which don’t need escapin of control chars).

Example:

CL-USER> #/This is a "test" string/#
"This is a \"test\" string"
;; here " are actually unescaped, but you can’t write it in a docstring :)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #`-reader STREAM CHAR ARG

Literal syntax for zero/one/two argument lambdas.
Use % as the function’s argument, %% as the second.

Examples:

- #‘(+ 2 %) => (lambda (&optional x y) (+ 2 x))
- #‘((print %) (1+ %)) => (lambda (&optional x) (print x) (1+ x)) - #‘(+ 1 2) => (lambda (&optional x y) (+ 1 2))
- #‘(+ % %%) => (lambda (&optional x y) (+ x y))

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #h-reader STREAM CHAR ARG

Literal syntax for hash-tables.

Examples:

CL-USER> #h(:a 1 :b 2)
#<HASH-TABLE :TEST EQL :COUNT 2>
;; holding 2 key/value pairs: ((:a . 1) (:b . 2))

CL-USER> #h(equalp "a" 1 "b" 2)
#<HASH-TABLE :TEST EQUALP :COUNT 2>
;; holding 2 key/value pairs: (("a" . 1) ...)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #v-reader STREAM CHAR ARG

Literal syntax for vectors.
Unlike #() evaluates its contents before vector creation

Examples:

CL-USER> #v(1 2 3)
#(1 2 3)

CL-USER> #v((+ 1 2))
#(3)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #{-reader STREAM CHAR ARG

Literal syntax for fixed-size hash-tables.

Examples:

CL-USER> #{:a 1 :b 2}
#<HASH-TABLE :TEST EQL :COUNT 2>
;; holding 2 key/value pairs: ((:a . 1) (:b . 2))

CL-USER> #{equalp "a" 1 "b" 2}
#<HASH-TABLE :TEST EQUALP :COUNT 2>
;; holding 2 key/value pairs: (("a" . 1) ...)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: @-reader STREAM CHAR

Short slot and sequence elements access syntax.

Examples:

CL-USER> (defclass foo () ((bar :initform 42))) CL-USER> (defvar *foo* (make ’foo)) CL-USER> @*foo*.bar
42
CL-USER> (defvar *baz* #(1 *foo*))
CL-USER> @*baz*#1.bar
42

Package

rutils.readtable

Source

readtable.lisp (file)

Function: add# ITEM SET

Add ITEM to hash-set SET.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: alist->ht ALIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in ALIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: alist-to-plist ALIST

Make a plist from an alist ALIST.

Package

rutils.list

Source

list.lisp (file)

Function: alistp LIST

Test wheather LIST is a properly formed alist.

Package

rutils.list

Source

list.lisp (file)

Function: and2 X Y

AND for 2 arguments as a function.

Package

rutils.misc

Source

misc.lisp (file)

Function: assoc1 ITEM ALIST &key DEFAULT KEY TEST TEST-NOT

Return a value in ALIST, whose key is eql to ITEM. Also as 2nd value return, whether ITEM was found. If there is no such entry, returns DEFAULT. The usual KEY, TEST and TEST-NOT arguments apply.

Package

rutils.list

Source

list.lisp (file)

Function: atomize LIST-OR-VAL
Package

rutils.list

Source

list.lisp (file)

Function: blankp STRING

Test whether a STRING is blank (empty).

Package

rutils.string

Source

string.lisp (file)

Function: butlast2 LIST &optional N

Split LIST in 2 parts and return them as multiple values:
head and tail. If (= N 1), which is the most common case, the tail will be a single element, otherwise – a list as well.

Package

rutils.list

Source

list.lisp (file)

Function: call FUNCTION &rest ARGUMENTS

Call FUNCTION with the given ARGUMENTS.

Package

rutils.abbr

Source

SYS:SRC;CODE;EVAL.LISP (not found)

Function: concat &rest LISTS

CONCATENATE all the LISTS into a single list.

Package

rutils.list

Source

list.lisp (file)

Function: copy-array ARR

Create a fresh copy of the array ARR.

Package

rutils.array

Source

array.lisp (file)

Function: copy-hash-table HT &key KEY TEST SIZE REHASH-SIZE REHASH-THRESHOLD

Returns a copy of hash table HT, with the same keys and values. The copy has the same properties as the original, unless overridden by the keyword arguments.

Before each of the original values is set into the new hash-table, KEY is invoked on the value. As KEY defaults to IDENTITY
a shallow copy is returned by default.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: dcons KEY VAL DLIST

Add KEY-VAL pair to the front of DLIST.

Package

rutils.list

Source

list.lisp (file)

Function: delete-from-plist PLIST &rest KEYS

Just like REMOVE-FROM-PLIST, but this version may destructively modify the provided PLIST.

Package

rutils.list

Source

list.lisp (file)

Function: diff# SET1 SET2

Set difference between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: display-iter-clauses &optional CLAUSE-SPEC

Display ITERATE clause.

Package

rutils.iter

Source

iter.lisp (file)

Function: dlistp LIST

Test wheather LIST is a properly formed dlist, i.e. a list-structure of the form: ((keys) vals).

Package

rutils.list

Source

list.lisp (file)

Function: dyadic LIST

Test wheather LIST contains exactly 2 elements.

Package

rutils.list

Source

list.lisp (file)

Function: emptyp SEQUENCE

Returns true if SEQUENCE is an empty sequence. Signals an error if SEQUENCE is not a sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: emptyp# SET

Test wether a hash-set is empty

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: ends-with SUFFIX STRING &key TEST -END

Test, whether STRING ends with SUFFIX. Accepts TEST. If -END is provided matches from this offset from end.

Package

rutils.string

Source

string.lisp (file)

Function: ensure-keyword OBJ &key FORMAT

Make a keyword from OBJ according to FORMAT.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: ensure-list OBJ

Wrap OBJ in a list, if it’s not a list.

Package

rutils.list

Source

list.lisp (file)

Function: ensure-symbol OBJ &key FORMAT PACKAGE

Make a symbol in either PACKAGE or *PACKAGE* from OBJ according to FORMAT.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: equal-lengths &rest SEQUENCES

Takes any number of sequences or integers in any order. Returns true iff the length of all the sequences and the integers are equal.
Hint: there’s a compiler macro that expands into more efficient code if the first argument is a literal integer.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: flat-map FUNCTION &rest LISTS

Apply FUNCTION to respective elements of each LIST, appending all the result lists to a single list. FUNCTION must return a list.

Package

rutils.list

Source

list.lisp (file)

Function: flatten LIST &optional LEVEL

Flatten possibly nested LIST a given number of LEVELs (or to the end).

Package

rutils.list

Source

list.lisp (file)

Function: fmt FORMAT-STRING &rest ARGS

(FORMAT NIL FORMAT-STRING ARGS)

Package

rutils.string

Source

string.lisp (file)

Function: get# KEY HASH-TABLE &optional DEFAULT

Finds the entry in HASH-TABLE whose key is KEY and returns the associated value and T as multiple values, or returns DEFAULT and NIL if there is no such entry. Entries can be added using SETF.

Package

rutils.hash-table

Source

SYS:SRC;CODE;TARGET-HASH-TABLE.LISP (not found)

Setf Expander

(setf get#) (setf expander)

Setf Expander: (setf get#) KEY HASHTABLE &optional DEFAULT
Package

rutils.hash-table

Source

abbr.lisp (file)

Reader

get# (function)

Function: group N SEQ

Split SEQ into a list of sequences of the same type of length N (the last sequence may be shorter).

Package

rutils.sequence

Source

sequence.lisp (file)

Function: hash-set &optional TEST &rest ITEMS

Create a hash-set with a given TEST and initial contents ITEMS.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: hash-table-from-alist ALIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in ALIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-from-plist PLIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in PLIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-keys HT

Return a list of keys of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-to-alist HT

Returns an alist containing the keys and values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-to-plist HT

Returns a list containing the keys and values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-vals HT

Return a list of values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: ht->alist HT

Returns an alist containing the keys and values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: ht->pairs HT

Dump hash-table HT to list of pairs.

Package

rutils.pair

Source

pair.lisp (file)

Function: ht->plist HT

Returns a list containing the keys and values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: ht-count HASH-TABLE

Return the number of entries in the given HASH-TABLE.

Package

rutils.hash-table

Source

SYS:SRC;CODE;TARGET-HASH-TABLE.LISP (not found)

Function: ht-keys HT

Return a list of keys of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: ht-vals HT

Return a list of values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: in# KEY HASH-TABLE

Check if KEY is present in HASH-TABLE.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: inter# SET1 SET2

Set intersection between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: interleave LIST &rest LISTS

Return a list whose elements are taken from LIST and each of LISTS like this: 1st of list, 1st of 1st of lists,..., 1st of last of lists, 2nd of list,...

Package

rutils.list

Source

list.lisp (file)

Function: interpose SEPARATOR LIST

Returns a sequence of the elements of SEQUENCE separated by SEPARATOR.

Package

rutils.list

Source

list.lisp (file)

Function: just THING

This function simply returns what was passed to it.

Package

rutils.abbr

Source

SYS:SRC;CODE;FUNUTILS.LISP (not found)

Function: keep ITEM SEQUENCE &rest ARGS &key FROM-END TEST TEST-NOT START END COUNT KEY

The opposite of REMOVE.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: keep-if PREDICATE SEQUENCE &rest ARGS &key FROM-END START END COUNT KEY

Return a copy of sequence with elements not satisfying PREDICATE removed.

Package

rutils.sequence

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: keep-if-not PREDICATE SEQUENCE &rest ARGS &key FROM-END START END COUNT KEY

Return a copy of sequence with elements satisfying PREDICATE removed.

Package

rutils.sequence

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: last-char STRING

Return the last character of STRING if it’s not empty, otherwise - nil.

Package

rutils.string

Source

string.lisp (file)

Function: last-elt SEQUENCE

Returns the last element of SEQUENCE.
Signals a type-error if SEQUENCE is not a proper sequence, or is an empty sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Writer

(setf last-elt) (function)

Function: (setf last-elt) OBJECT SEQUENCE

Sets the last element of SEQUENCE.
Signals a type-error if SEQUENCE is not a proper sequence, is an empty sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Reader

last-elt (function)

Function: last1 LIST &optional N

Get the N-th element of LIST from end, starting from the last one (which is number 1).

Package

rutils.list

Source

list.lisp (file)

Writer

(setf last1) (function)

Function: (setf last1) OBJECT LIST &optional N
Package

rutils.list

Source

list.lisp (file)

Reader

last1 (function)

Function: length= SEQUENCE LENGTH

Return true if SEQUENCE’s length equals LENGTH. Returns FALSE for circular lists.
Signals an error if SEQUENCE is not a sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: less X Y

Like <, but works for NIL values of X and Y.
Obviously, NIL is LESS, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: lt STRUCTURE
Package

rutils.pair

Source

pair.lisp (file)

Function: m1 FORM &optional ENV

If form is a macro (or symbol macro), expand it once. Return two values, the expanded form and a T-or-NIL flag indicating whether the form was, in fact, a macro. ENV is the lexical environment to expand in, which defaults to the null environment.

Package

rutils.abbr

Source

SYS:SRC;CODE;MACROEXPAND.LISP (not found)

Function: make-gensym-list LENGTH &optional X

Return a list of LENGTH gensyms, using the second (optional, defaulting to ’G’) argument.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: make-pair &key (LEFT LEFT) (RIGHT RIGHT)
Package

rutils.pair

Source

pair.lisp (file)

Function: map* FN SEQ &rest SEQS

DWIM version of map that uses the type of first sequence (SEQ) for result.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: mapcanindex FN LIST

Mapcan FN with 2 lists:
- numeric inidices for LIST, starting from 0 - LIST itself

Package

rutils.list

Source

list.lisp (file)

Function: mapcat FUNCTION &rest LISTS

Apply FUNCTION to respective elements of each LIST, appending all the result lists to a single list. FUNCTION must return a list.

Package

rutils.list

Source

list.lisp (file)

Function: mapindex FN LIST

Mapcar FN with 2 lists:
- numeric inidices for LIST, starting from 0 - LIST itself

Package

rutils.list

Source

list.lisp (file)

Function: mapleaves FN TREE

Map a one-argument function FN over each leaf node of the TREE
in depth-first order, returning a new tree with the same structure.

Package

rutils.tree

Source

tree.lisp (file)

Function: mappend FUNCTION &rest LISTS

Apply FUNCTION to respective elements of each LIST, appending all the result lists to a single list. FUNCTION must return a list.

Package

rutils.list

Source

list.lisp (file)

Function: maptimes TIMES FN

Map FN with number range from 0 to TIMES (exclusive).

Package

rutils.list

Source

list.lisp (file)

Function: maptree FN TREE

Map a one-argument function FN over subtree of the TREE
in depth-first order, returning a new tree with the same structure.

Package

rutils.tree

Source

tree.lisp (file)

Function: merge-hash-tables HT &rest HTS

From 1 or more HTS create a single one with TEST of HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: merge-hash-tables-with FN HT &rest HTS

From 1 or more HTS create a single one with TEST of HT
and values created by calling FN (a two-argument function that should be prepared to accept nil values when some keys are not present in all hash-tables) with all the values from HT & HTS for a particular key.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: merge-hts HT &rest HTS

From 1 or more HTS create a single one with TEST of HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: merge-hts-with FN HT &rest HTS

From 1 or more HTS create a single one with TEST of HT
and values created by calling FN (a two-argument function that should be prepared to accept nil values when some keys are not present in all hash-tables) with all the values from HT & HTS for a particular key.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: mkeyw OBJ &key FORMAT

Make a keyword from OBJ according to FORMAT.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: mklist OBJ

Wrap OBJ in a list, if it’s not a list.

Package

rutils.list

Source

list.lisp (file)

Function: mksym OBJ &key FORMAT PACKAGE

Make a symbol in either PACKAGE or *PACKAGE* from OBJ according to FORMAT.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: more X Y

Like >, but works for NIL values of X and Y.
Obviously, NIL is not MORE, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: not-less X Y

Like >=, but works for NIL values of X and Y.
Obviously, NIL is not NOT-LESS, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: not-more X Y

Like <=, but works for NIL values of X and Y.
Obviously, NIL is NOT-MORE, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: nshuffle SEQUENCE &key START END

Shuffle SEQUENCE (in bounds of START and END) in-place.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: or2 X Y

OR for 2 arguments as a function.

Package

rutils.misc

Source

misc.lisp (file)

Function: p# HT &optional STREAM

Pretty print hash-table HT to STREAM.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: package-external-symbols PACKAGE

List all symbols in a PACKAGE.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: package-internal-symbols PACKAGE

List all symbols in a PACKAGE that are not imported.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: package-symbols PACKAGE

List all symbols in a PACKAGE.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: pair X Y

A shortcut to make a pair of X and Y.

Package

rutils.pair

Source

pair.lisp (file)

Function: pair-left STRUCTURE
Function: (setf pair-left) VALUE STRUCTURE
Package

rutils.pair

Source

pair.lisp (file)

Function: pairs->ht PAIRS &rest HASH-TABLE-INITARGS

Create hash-table from the list of PAIRS.
Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.pair

Source

pair.lisp (file)

Function: partition-with KEY-SEQUENCE SEQUENCE &key ORDERING TEST KEY RESULT-TYPE KEYS-SORTED

Partition a SEQUENCE into a sequence of sequences, each one related
by TEST to one key in KEY-SEQUENCE (which may be already sorted: KEYS-SORTED).

Returns a sorted KEY-SEQUENCE as a 2nd value.

Return values are coerced to RESULT-TYPE, that should be a sequence subtype (default is LIST).

ORDERING is used for sorting both SEQUENCE and KEY-SEQUENCE.
Accepts KEY.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: permutations LIST

Generate all permutations of LIST. Complexity: O(n!)

Package

rutils.list

Source

list.lisp (file)

Function: plist->ht PLIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in PLIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: plist-to-alist PLIST

Make an alist from a plist PLIST.

Package

rutils.list

Source

list.lisp (file)

Function: plistp LIST

Test wheather LIST is a properly formed plist.

Package

rutils.list

Source

list.lisp (file)

Function: print-hash-table HT &optional STREAM

Pretty print hash-table HT to STREAM.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: print-ht HT &optional STREAM

Pretty print hash-table HT to STREAM.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: product FN SEQ &rest SEQS

Product of the results of mapping FN to SEQ and other SEQS.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: pushx NEW-ELEMENT VECTOR &optional MIN-EXTENSION
Package

rutils.abbr

Source

SYS:SRC;CODE;ARRAY.LISP (not found)

Function: range START LIMIT &key STEP

Return a list of numbers, starting from START up to LIMIT incremented by STEP (default 1).

Package

rutils.list

Source

list.lisp (file)

Function: re-export-symbols FROM-PACKAGE TO-PACKAGE

Make the exported symbols in FROM-PACKAGE be also exported from TO-PACKAGE.

Package

rutils.symbol

Source

symbol.lisp (file)

Function: read-file FILENAME

Read a whole file by FILENAME into a string.

Package

rutils.string

Source

string.lisp (file)

Function: rem# KEY HASH-TABLE

Remove the entry in HASH-TABLE associated with KEY. Return T if there was such an entry, or NIL if not.

Package

rutils.hash-table

Source

SYS:SRC;CODE;TARGET-HASH-TABLE.LISP (not found)

Function: remove-from-plist PLIST &rest KEYS

Returns a propery-list with same keys and values as PLIST,
except that keys in the list designated by KEYS and values, corresponding to them are removed. The returned property-list may share structure with the PLIST, but PLIST is not destructively modified. Keys are compared using EQ.

Package

rutils.list

Source

list.lisp (file)

Function: remove-idx IDX LIST

Return a copy of the list without IDX-th element.

Package

rutils.list

Source

list.lisp (file)

Function: rotate SEQUENCE &optional N

Returns a sequence of the same type as SEQUENCE, with the elements of SEQUENCE rotated by N: N elements are moved from the end of the sequence to the front if N is positive, and -N elements moved from the front to the end if N is negative. SEQUENCE must be a proper sequence. N must be an integer, defaulting to 1.

If absolute value of N is greater then the length of the sequence, the results are identical to calling ROTATE with

(* (signum n) (mod n (length sequence))).

Note: the original sequence may be destructively altered,
and result sequence may share structure with it.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: rt STRUCTURE
Package

rutils.pair

Source

pair.lisp (file)

Function: safe-sort SEQUENCE PREDICATE &rest ARGS &key KEY

The destructuve nature of SORT triggers many obscure bugs. This function is a thin wrapper over SORT that enqures that an input SEQUENCE is copied.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: set# KEY HT VAL

Set VAL at KEY in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: set-equal LIST1 LIST2 &key TEST KEY

Return true if every element of LIST1 matches some element of LIST2 and
every element of LIST2 matches some element of LIST1. Otherwise returns false.

Package

rutils.list

Source

list.lisp (file)

Function: sethash KEY HT VAL

Set VAL at KEY in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: shuffle SEQUENCE &key START END

Return a shuffled copy of SEQUENCE (in bounds of START and END).

Package

rutils.sequence

Source

sequence.lisp (file)

Function: single LIST

Test wheather LIST contains exactly 1 element.

Package

rutils.list

Source

list.lisp (file)

Function: slice VEC BEG &optional END

Return an array-slice into VEC from BEG to END.

Package

rutils.array

Source

array.lisp (file)

Function: slurp FILENAME

Read a whole file by FILENAME into a string.

Package

rutils.string

Source

string.lisp (file)

Function: split DELIMITER SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY TEST TEST-NOT

Return a list of subsequences in SEQ delimited by DELIMITER.

If REMOVE-EMPTY-SUBSEQS is NIL, empty subsequences will
be included in the result; otherwise they will be discarded. All other keywords work analogously to those for SUBSTITUTE. In particular, the behavior of FROM-END is possibly different from other versions of this function; FROM-END values of NIL and T are equivalent unless COUNT is supplied. The second return value is an index suitable as an argument to SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-if PREDICATE SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY

Return a list of subsequences in SEQ delimited by items, satisfying PREDICATE.

If REMOVE-EMPTY-SUBSEQS is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for SUBSTITUTE. In particular, the behavior of FROM-END is possibly different from other versions of this function; FROM-END values of NIL
and T are equivalent unless COUNT is supplied. The second return value is an index suitable as an argument to SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-if-not PREDICATE SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY

Return a list of subsequences in SEQ delimited by items, satisfying (complement PREDICATE).

If REMOVE-EMPTY-SUBSEQS is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for SUBSTITUTE.
In particular, the behavior of FROM-END is possibly different from other versions of this function; FROM-END values of NIL and T are equivalent unless COUNT is supplied. The second return value is an index suitable as an argument to SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-sequence DELIMITER SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY TEST TEST-NOT

Return a list of subsequences in SEQ delimited by DELIMITER.

If REMOVE-EMPTY-SUBSEQS is NIL, empty subsequences will
be included in the result; otherwise they will be discarded. All other keywords work analogously to those for SUBSTITUTE. In particular, the behavior of FROM-END is possibly different from other versions of this function; FROM-END values of NIL and T are equivalent unless COUNT is supplied. The second return value is an index suitable as an argument to SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-sequence-if PREDICATE SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY

Return a list of subsequences in SEQ delimited by items, satisfying PREDICATE.

If REMOVE-EMPTY-SUBSEQS is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for SUBSTITUTE. In particular, the behavior of FROM-END is possibly different from other versions of this function; FROM-END values of NIL
and T are equivalent unless COUNT is supplied. The second return value is an index suitable as an argument to SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-sequence-if-not PREDICATE SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY

Return a list of subsequences in SEQ delimited by items, satisfying (complement PREDICATE).

If REMOVE-EMPTY-SUBSEQS is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for SUBSTITUTE.
In particular, the behavior of FROM-END is possibly different from other versions of this function; FROM-END values of NIL and T are equivalent unless COUNT is supplied. The second return value is an index suitable as an argument to SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-string STRING

Split STRING by WHITE-CHAR-P.

Package

rutils.string

Source

string.lisp (file)

Function: starts-with PREFIX STRING &key TEST START

Test, whether STRING starts with PREFIX.
If START is provided matches from this offset from the start.

Package

rutils.string

Source

string.lisp (file)

Function: strcat &rest STRING-DESIGNATORS

CONCATENATE all the strings in STRING-DESIGNATORS.

Package

rutils.string

Source

string.lisp (file)

Function: strjoin DELIM STRINGS

Join STRINGS with DELIM.

Package

rutils.string

Source

string.lisp (file)

Function: sub SEQUENCE START &optional END

Return a copy of a subsequence of SEQUENCE starting with element number START and continuing to the end of SEQUENCE or the optional END.

Package

rutils.abbr

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: substr STRING START &optional END

Efficient substring of STRING from START to END (optional), where both can be negative, which means counting from the end.

Package

rutils.string

Source

string.lisp (file)

Function: sum FN SEQ &rest SEQS

Sum the results of mapping FN to SEQ and other SEQS.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: take N LIST &optional STEP

Return a list with N elements, which are taken from LIST by this formula: INDEX of ELEMENT = I * STEP for I from 0

Package

rutils.list

Source

list.lisp (file)

Function: take# KEY HT

Get and remove VAL at KEY in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: takehash KEY HT

Get and remove VAL at KEY in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: toggle-print-hash-table &optional ON

Toggles printing hash-tables with PRINT-HASH-TABLE or with default method. If ON is set explicitly will turn on literal printing (T) or default (NIL).

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: tree-depth TREE

Returns the length of the largest of nodes from the root tree.

Package

rutils.tree

Source

tree.lisp (file)

Function: tree-size TREE

Returns the number of nodes (internal & external) in the indicated TREE.

Package

rutils.tree

Source

tree.lisp (file)

Function: true VAL

The complement to NULL.
Unlike IDENTITY will return T if VAL is not NIL.

Package

rutils.misc

Source

misc.lisp (file)

Function: tryadic LIST

Test wheather LIST contains exactly 3 elements.

Package

rutils.list

Source

list.lisp (file)

Function: union# SET1 SET2

Set union between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: vec &rest ARGS

Make a new adjustable vector with ARGS as contents.

Package

rutils.array

Source

array.lisp (file)

Function: white-char-p CHAR

Is CHAR a whitespace character (newline chars are also considered white).

Package

rutils.string

Source

string.lisp (file)

Function: xor# SET1 SET2

Set xor between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: xor2 X Y

XOR for 2 arguments as a function.

Package

rutils.misc

Source

misc.lisp (file)

Function: zip &rest LISTS

Return a single list whose elements are lists of the consecutive elements of LISTS, until one of the LISTS ends.

Package

rutils.list

Source

list.lisp (file)

Function: zip* &rest LISTS

Return a single list whose elements are lists of the consecutive elements of LISTS, until all of the LISTS end.

Package

rutils.list

Source

list.lisp (file)

Function: zip*-with FN &rest LISTS

Return a single list whose elements are the results
of applying FN to groups of the consecutive elements of LISTS, until all of the LISTS end.

Package

rutils.list

Source

list.lisp (file)

Function: zip-with FN &rest LISTS

Return a single list whose elements are the results
of applying FN to groups of the consecutive elements of LISTS, until one of the LISTS ends.

Package

rutils.list

Source

list.lisp (file)


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

6.1.5 Generic functions

Generic Function: ? OBJ KEY &rest KEYS

Generic element access in OBJ by KEY. Supports chaining with KEYS.

Package

rutils.generic

Source

generic.lisp (file)

Setf Expander

(setf ?) (setf expander)

Methods
Method: ? (OBJ (eql nil)) KEY &rest KEYS
Method: ? (OBJ standard-object) KEY &rest KEYS
Method: ? (OBJ structure-object) KEY &rest KEYS
Method: ? (OBJ hash-table) KEY &rest KEYS
Method: ? (OBJ sequence) KEY &rest KEYS
Method: ? (OBJ array) (KEY list) &rest KEYS
Method: ? (OBJ vector) KEY &rest KEYS
Method: ? (OBJ list) KEY &rest KEYS
Method: ? OBJ KEY &rest KEYS around
Method: ? OBJ KEY &rest KEYS
Setf Expander: (setf ?) OBJ KEY &rest KEYS-AND-VAL
Package

rutils.generic

Source

generic.lisp (file)

Reader

? (generic function)

Writer

generic-setf (generic function)

Generic Function: bind-dispatch ARG1 ARG2 &rest ARGS
Package

rutils.bind

Source

bind.lisp (file)

Methods
Method: bind-dispatch (ARG1 symbol) ARG2 &rest ARGS
Method: bind-dispatch (ARG1 list) (ARG2 (eql ?)) &rest ARGS
Method: bind-dispatch (ARG1 list) (ARG2 (eql @)) &rest ARGS
Method: bind-dispatch (ARG1 list) ARG2 &rest ARGS
Generic Function: copy OBJ &rest KVS

Create a shallow copy of an object.
If KVS are specified, they may be used to update the relevant parts (like slots of an object, keys in a hash-table
or indexed elements of a sequence).

Package

rutils.generic

Source

generic.lisp (file)

Methods
Method: copy (OBJ list) &rest KVS
Method: copy (OBJ sequence) &rest KVS
Method: copy (OBJ hash-table) &rest KVS
Method: copy (OBJ structure-object) &rest KVS
Generic Function: eq-test KV

Return an equality test predicate of the KV.

Package

rutils.kv

Source

kv.lisp (file)

Methods
Method: eq-test (KV hash-table)
Method: eq-test (LIST list)
Generic Function: generic-elt OBJ KEY &rest KEYS

Generic element access in OBJ by KEY. Supports chaining with KEYS.

Package

rutils.generic

Source

generic.lisp (file)

Setf Expander

(setf generic-elt) (setf expander)

Methods
Method: generic-elt (OBJ (eql nil)) KEY &rest KEYS
Method: generic-elt (OBJ standard-object) KEY &rest KEYS
Method: generic-elt (OBJ structure-object) KEY &rest KEYS
Method: generic-elt (OBJ hash-table) KEY &rest KEYS
Method: generic-elt (OBJ sequence) KEY &rest KEYS
Method: generic-elt (OBJ array) (KEY list) &rest KEYS
Method: generic-elt (OBJ vector) KEY &rest KEYS
Method: generic-elt (OBJ list) KEY &rest KEYS
Method: generic-elt OBJ KEY &rest KEYS around
Method: generic-elt OBJ KEY &rest KEYS
Setf Expander: (setf generic-elt) OBJ KEY &rest KEYS-AND-VAL
Package

rutils.generic

Source

generic.lisp (file)

Reader

generic-elt (generic function)

Writer

generic-setf (generic function)

Generic Function: generic-elt-error-key CONDITION
Generic Function: (setf generic-elt-error-key) NEW-VALUE CONDITION
Package

rutils.generic

Methods
Method: generic-elt-error-key (CONDITION generic-elt-error)
Method: (setf generic-elt-error-key) NEW-VALUE (CONDITION generic-elt-error)
Source

generic.lisp (file)

Generic Function: generic-elt-error-obj CONDITION
Generic Function: (setf generic-elt-error-obj) NEW-VALUE CONDITION
Package

rutils.generic

Methods
Method: generic-elt-error-obj (CONDITION generic-elt-error)
Method: (setf generic-elt-error-obj) NEW-VALUE (CONDITION generic-elt-error)
Source

generic.lisp (file)

Generic Function: keys KV

Return a list of all keys in a KV. Order is unspecified.

Package

rutils.kv

Source

kv.lisp (file)

Methods
Method: keys (KV hash-table)
Method: keys (LIST list)
Generic Function: kvs KV &optional RESULT-KIND

Return a list of all key-value pairs in a KV in one the 3 kinds:

- list of pairs (default)
- alist
- dlist

Order is unspecified.

Package

rutils.kv

Source

kv.lisp (file)

Methods
Method: kvs (KV hash-table) &optional RESULT-KIND
Generic Function: make CLASS &rest INITARGS &key &allow-other-keys
Package

rutils.abbr

Source

SYS:SRC;PCL;GENERIC-FUNCTIONS.LISP (not found)

Methods
Method: make (CLASS symbol) &rest INITARGS
Source

SYS:SRC;PCL;INIT.LISP (not found)

Method: make (CLASS class) &rest INITARGS
Source

SYS:SRC;PCL;INIT.LISP (not found)

Generic Function: mapkv FN KV

Like MAPCAR but for a data structure that can be viewed as a KV.

Package

rutils.kv

Source

kv.lisp (file)

Methods
Method: mapkv FN (KV hash-table)
Method: mapkv FN (LIST list)
Generic Function: pairs TABLE

Return a list of all key-value PAIRS in a TABLE. Order is unspecified.

Package

rutils.pair

Source

pair.lisp (file)

Methods
Method: pairs (TABLE hash-table)
Method: pairs (LIST list)
Generic Function: smart-slot-value OBJ SLOT

Similar to SLOT-VALUE but tries to find slot definitions regardless of the package.

Package

rutils.generic

Source

generic.lisp (file)

Setf Expander

(setf smart-slot-value) (setf expander)

Methods
Method: smart-slot-value OBJ SLOT
Setf Expander: (setf smart-slot-value) OBJ SLOT VAL
Package

rutils.generic

Source

generic.lisp (file)

Reader

smart-slot-value (generic function)

Writer

smart-set-slot-value (generic function)

Generic Function: tally OBJ

Return the count of items in a collection or other compound object.

Package

rutils.generic

Source

generic.lisp (file)

Methods
Method: tally (OBJ sequence)
Method: tally (OBJ hash-table)
Generic Function: vals KV

Return a list of all values in a KV. Order is unspecified.

Package

rutils.kv

Source

kv.lisp (file)

Methods
Method: vals (KV hash-table)
Method: vals (LIST list)

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

6.1.6 Conditions

Condition: case-failure ()
Package

rutils.misc

Source

misc.lisp (file)

Direct superclasses
  • type-error (condition)
  • case-failure (condition)
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

case-failure-name (generic function)

Slot: possibilities
Initargs

:possibilities

Readers

case-failure-possibilities (generic function)

Condition: generic-elt-error ()
Package

rutils.generic

Source

generic.lisp (file)

Direct superclasses

condition (condition)

Direct methods
Direct slots
Slot: obj
Initargs

:obj

Readers

generic-elt-error-obj (generic function)

Writers

(setf generic-elt-error-obj) (generic function)

Slot: key
Initargs

:key

Readers

generic-elt-error-key (generic function)

Writers

(setf generic-elt-error-key) (generic function)

Condition: rutils-style-warning ()
Package

rutils.symbol

Source

symbol.lisp (file)

Direct superclasses
  • style-warning (condition)
  • simple-condition (condition)

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

6.1.7 Types

Type: array-index &optional LENGTH

Type designator for an index into array of LENGTH: an integer between 0 (inclusive) and LENGTH (exclusive).
LENGTH defaults to ARRAY-DIMENSION-LIMIT.

Package

rutils.array

Source

array.lisp (file)

Type: array-length &optional LENGTH

Type designator for a dimension of an array of LENGTH: an integer between 0 (inclusive) and LENGTH (inclusive).
LENGTH defaults to ARRAY-DIMENSION-LIMIT.

Package

rutils.array

Source

array.lisp (file)

Type: string-designator ()

A string designator type. It is either a string, a symbol, or a character.

Package

rutils.string

Source

string.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: *accum-var-alist*

This is how we get multiple accumulations into the same variable
to come out right. See MAKE-ACCUM-VAR-BINDING.
It’s an alist of (ACCUM-VAR KIND <possibly other info>).
The currently used kinds are:
* :collect - for collect, nconc, append, etc.
* :increment - for count, sum and multiply
* :max - for maximize
* :min - for minimize
* :if-exists - for always/never/thereis and finding such-that
Note that we do not check for type conflict in the re-use of these variables.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *all-packages*
Package

rutils

Source

rutils.lisp (file)

Special Variable: *always-declare-variables*

Like (declare (declare-variables))

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *bind-ignores*

List of gensymed symbols that should be declared ignored for bind.

Package

rutils.bind

Source

bind.lisp (file)

Special Variable: *bindings*

For the use of MAKE-BINDING-INTERNAL, to pass back bindings. (:IF FIRST-TIME) also uses it to create first-time variables.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *block-name*

Name of the block for this iterate /> form. Used in generating return statements

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *clause*

*CLAUSE*> is bound to each entire iterate clause before the clause is processed. Mostly for error output (see CLAUSE-ERROR class).

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *clause-info-index*

The index of standard clauses (a discrimination tree). This is a DEFVAR, so that reloading doesn’t clobber existing defs (though it will clobber those clauses, that are defined in this file).

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *declaration-context?*

*DECLARATION-CONTEXT?* is bound to T inside a form, that allows declarations, like (FLET, LABELS).

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *declarations*

For functions (like MAKE-BINDING), that don’t want to or can’t pass declarations normally. These are really decl-specs, not full declarations.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *declare-variables*

*DECLARE-VARIABLES* is bound to T if (declare (iterate:declare-variables)) was seen at top-level, or if *ALWAYS-DECLARE-VARIABLES* is non-nil.
This indicates, that variables, that haven’t been declared by the user should be declared to have the appropriate types. What ’appropriate’ means depends
on the context.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *decls*

Global collection of declaration forms.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *driver-info-alist*

List of info about drivers for use by the NEXT mechanism.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *env*

Environment, for MACROEXPAND.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *final*

Global collection of final forms.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *finalp*

Global collection of final forms, protected by UNWIND-PROTECT.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *genvar-counter*

Counter of GENVAR’s.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *initial*

Global collection of initial forms.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *internal-variables*

This is a list of lists, containing the variables, made by internal LETs or other binding forms. It is used to check for the error of having iterate try to bind one of these variables at top-level. E.g. this code is an error. CL-USER> (iter (:for i :from 1 :to 10)
(let ((a nil))
(:collect i :into a)))

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *list-end-test*

This is so the advanced user can choose how the end of a list
is checked for.
There are three choices for termination predicate in
FOR...ON and FOR...IN, differing in their behavior on lists with a non-nil cdr: * NULL: If lucky, will get an error when taking the cdr. Bad choice
* ATOM: Will terminate correctly with no error
* ENDP: Will give an appropriate error message

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *loop-body-wrappers*

Things that we should wrap the loop’s body in.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *loop-end*

A loop label.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *loop-end-used?*

Whether a label was used already (to avoid generating them)?
This is so we don’t get a warning from compilers that check for unused tags.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *loop-step*

A loop label.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *loop-step-used?*

Whether a label was used already (to avoid generating them)?
This is so we don’t get a warning from compilers that check for unused tags.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *loop-top*

A loop label.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *previous-vars-alist*

Used by PREVIOUS.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *result-var*

*RESULT-VAR* is bound to a gensym before the clauses of an iterate form are processed. In the generated code, the gensym is bound to NIL before any other bindings are performed. Clauses are free to generate code that sets the value of *RESULT-VAR*.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *shared-bindings-alist*

Shared variables created by MAKE-SHARED-BINDING.
It’s an alist of (NAME GENSYM-VAR <possibly other info>). Tipical use is FIRST-ITERATION-P.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *special-clause-alist*

Clauses, that are ’special’ in the sense, that they don’t conform to the keyword-argument syntax of Iterate clauses

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *special-form-alist*

An alist of lisp special forms and the functions for handling them. nil as function means leave form as-is

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *step*

Global collection of stepping forms.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *temps*

These two are for conserving temporaries. *TEMPS* is a list
of temporaries that have already been created and given bindings. *TEMPS-IN-USE* is a list of temporaries that are currently being used. See WITH-TEMPORARY, WITH-TEMPORARIES.
This seems to stem from a time where it was more efficient to use CL-USER> (progn (temp)
...
(setq temp #) ; somewhere deep inside the body (foo temp)
(bar temp)
...)
than using a local LET deep inside that body, as in
CL-USER> (tagbody ...
(let ((temp #))
(foo temp)
(bar temp))
...)
which may be easier for compiler data flow and lifetime analysis.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *temps-in-use*

These two are for conserving temporaries. *TEMPS* is a list
of temporaries that have already been created and given bindings. *TEMPS-IN-USE* is a list of temporaries that are currently being used. See WITH-TEMPORARY, WITH-TEMPORARIES.
This seems to stem from a time where it was more efficient to use CL-USER> (progn (temp)
...
(setq temp #) ; somewhere deep inside the body (foo temp)
(bar temp)
...)
than using a local LET deep inside that body, as in
CL-USER> (tagbody ...
(let ((temp #))
(foo temp)
(bar temp))
...)
which may be easier for compiler data flow and lifetime analysis.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *top-level?*

*TOP-LEVEL?* is bound to T at top-level (i.e. before any forms, that contain clauses inside them, like IF, LET etc.) and to NIL inside such forms. It is useful to ensure, that certain forms (particularly iteration drivers) occur only at top-level.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: *type-alist*

Iterate binds *TYPE-ALIST* to an alist of variables and
their types before processing clauses. It does this by looking at (declare (type ...)) forms in the clauses and recording
the information there. (Only variable type information, not function)

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: +fill-col+
Package

rutils.iter

Source

iter.lisp (file)

Special Variable: +sequence-keyword-list+

Keywords, used in sequence iteration clauses.

Package

rutils.iter

Source

iter.lisp (file)

Special Variable: +standard-type-symbols+

Table 4-1 of the Common Lisp Manual

Package

rutils.iter

Source

iter.lisp (file)


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

6.2.2 Macros

Macro: adding-smart-slot-methods OBJ SLOT EXPR
Package

rutils.generic

Source

generic.lisp (file)

Macro: augment VAR STUFF

Add STUFF to the end of VAR list.

Package

rutils.iter

Source

iter.lisp (file)

Macro: clause-for-in-package-13 &key (FOR VAR) (IN-PACKAGE PKG) (EXTERNAL-ONLY EXT) GENERATE

ITER over symbols accessible in package PKG.

Package

rutils.iter

Source

iter.lisp (file)

Macro: def-special-clause NAME ARGLIST &body BODY

Define clause by DEFUN. Special-clause names should be exported.

Package

rutils.iter

Source

iter.lisp (file)

Macro: defsynonym SYMBOL SYNONYM

Set SYNONYM for a SYMBOL.

Package

rutils.iter

Source

iter.lisp (file)

Macro: prepend STUFF VAR

Add STUFF to the beginning of VAR list.

Package

rutils.iter

Source

iter.lisp (file)

Macro: return-driver-code &key VARIABLE INITIAL DECLARATIONS BODY STEP FINAL FINAL-PROTECTED NEXT
Package

rutils.iter

Source

iter.lisp (file)

Macro: return-sequence-code &key ELEMENT-VAR SEQUENCE ACCESS-FN SIZE-FN ELEMENT-TYPE SEQUENCE-TYPE
Package

rutils.iter

Source

iter.lisp (file)

Macro: trivial-positional-lambda BODY
Package

rutils.readtable

Source

readtable.lisp (file)

Macro: with-temporary VAR &body BODY

Execute BODY iside the temporary binding of VAR to.

Package

rutils.iter

Source

iter.lisp (file)


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

6.2.3 Functions

Function: ^-reader STREAM CHAR

Literal syntax for zero/one/two argument lambdas.
Use % as the function’s argument, %% as the second.

Examples:

- ^(+ 2 %) => (lambda (&optional x y) (+ 2 x))
- ^((print %) (1+ %)) => (lambda (&optional x) (print x) (1+ x)) - ^(+ 1 2) => (lambda (&optional x y) (+ 1 2))
- ^(+ % %%) => (lambda (&optional x y) (+ x y))

Package

rutils.readtable

Source

readtable.lisp (file)

Function: add-binding VAR VALUE
Package

rutils.iter

Source

iter.lisp (file)

Function: add-driver-info VAR-TEMPLATE NEXT-CODE GENERATOR?
Package

rutils.iter

Source

iter.lisp (file)

Function: add-internal-var VAR

Return a list of VAR, CONS’ed at the front to *INTERNAL-VARIABLES*.

Package

rutils.iter

Source

iter.lisp (file)

Function: add-internal-vars VARS

Return a list of VARS, NCONC’ed at the front to *INTERNAL-VARIABLES*. VARS can be a lambda-list, a list of LET bindings, or a list of variables.

Package

rutils.iter

Source

iter.lisp (file)

Function: add-loop-body-wrapper WRAPPER

Ad a WRAPPER to *LOOP-BODY-WRAPPERS*, if it’s not already there.

Package

rutils.iter

Source

iter.lisp (file)

Function: add-progn FORMS

When FORMS is more than one form, cons the PROGN in.

Package

rutils.iter

Source

iter.lisp (file)

Function: after-each &rest FORMS

FORMS to execute after each iteration.

Package

rutils.iter

Source

iter.lisp (file)

Function: ambiguity-check-clause CI1 CI2 INSERT-N
Package

rutils.iter

Source

iter.lisp (file)

Function: ambiguity-check-index CI1 INDEX

Check CI1 pair for being already present in the alist inside INDEX with the subset of required keywors.

Package

rutils.iter

Source

iter.lisp (file)

Function: ambiguous-clauses? CI1 CI2

Test wheather required-keywords of CI1 are a prefix of required-keywords of CI2 (i.e. introduce ambiguity).

Package

rutils.iter

Source

iter.lisp (file)

Function: apply-clause-function FUNC ARGS

Apply a function, defined for ITERATE clause FUNC to ARGS.

Package

rutils.iter

Source

iter.lisp (file)

Function: apply-subst-expr SUBST-EXPR ARGS
Package

rutils.iter

Source

iter.lisp (file)

Function: arg-check CLAUSE INFO

Make sure that each keyword in ITERATE CLAUSE is in INFO.

Package

rutils.iter

Source

iter.lisp (file)

Function: bug FORMAT-STRING &rest ARGS

Signal an Iterate bug to *ERROR-OUTPUT*.

Package

rutils.iter

Source

iter.lisp (file)

Function: build-index KEYWORDS INFO
Package

rutils.iter

Source

iter.lisp (file)

Function: check-internal-variables VAR
Package

rutils.iter

Source

iter.lisp (file)

Function: check-sequence-keywords FROM UPFROM DOWNFROM TO DOWNTO ABOVE BELOW KNOWN-LIMITS? &aux COUNT
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-accumulate-by-42 &key (ACCUMULATE EXPR) (BY OP) (INITIAL-VALUE INIT-VAL) (INTO VAR-SPEC)

Generalized accumulation.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-adjoin-37 &key (ADJOIN EXPR) (INTO VAR) (AT PLACE) (TEST TEST) (RESULT-TYPE TYPE)

Adjoin into a list (tests for membership first).

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-always-30 &key (ALWAYS EXPR)

Return last value, when EXPR is always non-NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-append-39 &key (APPEND EXPR) (INTO VAR) (AT PLACE)

APPEND into a list.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-collect-36 &key (COLLECT EXPR) (INTO VAR) (AT PLACE) (RESULT-TYPE TYPE)

Collect into a list (with CONS).

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-count-22 &key (COUNT EXPR) (INTO VAR)

Increment VAR if EXPR is non-NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-error FORMAT-STRING &rest ARGS

ERROR of improper use of iterate.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-find-max-34 &key (FIND EXPR) (MAX MAX-EXPR) (INTO VARIABLE)

Return value, which maximizes EXPR.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-find-min-35 &key (FIND EXPR) (MIN MIN-EXPR) (INTO VARIABLE)

Return value, which minimizes EXPR.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-find-such-that-33 &key (FIND EXPR) (SUCH-THAT TEST) (INTO VAR-SPEC) (ON-FAILURE FVAL)

Return EXPR, when test is non-NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-2 &key (FOR VAR-SPEC) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

General FOR clause.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-=-20 &key (FOR VAR) (= EXPR)

Set VAR on each iteration.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-do-next-17 &key (FOR VAR) (DO-NEXT NEXT) GENERATE

General driver; VAR must be set in DO-NEXT.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-first-then-21 &key (FOR VAR) (FIRST FIRST-EXPR) (THEN THEN-EXPR)

Set VAR on first, and then on subsequent iterations.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-4 &key (FOR VAR) (IN LIST) (BY STEP) GENERATE

ITER over elements of LIST.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-file-14 &key (FOR VAR) (IN-FILE FILENAME) (USING READER) GENERATE

ITER over forms from a file by FILENAME (which will be closed at the end).

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-hashtable-11 &key (FOR KEY-VAL-VARS) (IN-HASHTABLE TABLE) GENERATE

ITER over elements and keys of a hash-table TABLE.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-packages-12 &key (FOR SYM-ACCESS-PKG-VARS) (IN-PACKAGES PKGS) (HAVING-ACCESS SYM-TYPES) GENERATE

ITER over symbols and their access-types in packages PKGS.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-sequence-7 &key (FOR VAR) (IN-SEQUENCE SEQ) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

ITER over elements of a sequence.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-stream-15 &key (FOR VAR) (IN-STREAM STREAM) (USING READER) GENERATE

ITER over forms from a STREAM (which will be closed at the end).

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-string-9 &key (FOR VAR) (IN-STRING SEQ) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

ITER over characters of a string.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-in-vector-5 &key (FOR VAR) (IN-VECTOR SEQ) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

ITER over elements of a vector.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-index-of-sequence-8 &key (FOR VAR) (INDEX-OF-SEQUENCE SEQ) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

Indices of a sequence (vector or list).

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-index-of-string-10 &key (FOR VAR) (INDEX-OF-STRING SEQ) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

Indices of a string.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-index-of-vector-6 &key (FOR VAR) (INDEX-OF-VECTOR SEQ) (FROM FROM) (UPFROM UPFROM) (DOWNFROM DOWNFROM) (TO TO) (DOWNTO DOWNTO) (ABOVE ABOVE) (BELOW BELOW) ((BY⎵1) BY) (WITH-INDEX WITH-INDEX) GENERATE

Indices of a vector.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-initially-then-19 &key (FOR VAR) (INITIALLY INITIAL) (THEN THEN)

Set VAR initially, then on subsequent iterations.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-next-16 &key (FOR VAR) (NEXT NEXT) GENERATE

General driver; VAR is set to value of NEXT.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-on-3 &key (FOR VAR) (ON LIST) (BY STEP) GENERATE

ITER over sublists of LIST.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-for-prev-43 &key (FOR PVAR) (PREV VAR) (INITIALLY DEFAULT) (BACK N-EXPR)

Previous value of a variable.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-info-doc-string INSTANCE
Function: (setf clause-info-doc-string) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-info-function INSTANCE
Function: (setf clause-info-function) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-info-generator? INSTANCE
Function: (setf clause-info-generator?) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-info-keywords INSTANCE
Function: (setf clause-info-keywords) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-info-p OBJECT
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-info-req-keywords INSTANCE
Function: (setf clause-info-req-keywords) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: clause-matches? CLAUSE-SPEC KWS

Test wheather CLAUSE-SPEC matches KWS. If no CLAUSE-SPEC is given, assume, that it matches.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-max-26 &key (MAX EXPR) (INTO VAR)

Maximize value of an EXPR.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-min-27 &key (MIN EXPR) (INTO VAR)

Minimize value of an EXPR.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-mult-24 &key (MULT EXPR) (INTO VAR)

Multiply into VAR.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-nconc-38 &key (NCONC EXPR) (INTO VAR) (AT PLACE)

NCONC into a list.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-never-31 &key (NEVER EXPR)

Return T, when expression is never non-NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-nunion-41 &key (NUNION EXPR) (INTO VAR) (AT PLACE) (TEST TEST)

Union into a LIST, destructively.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-reduce-by-25 &key (REDUCE EXPR) (BY OP) (INITIAL-VALUE INIT-VAL) (INTO VAR-SPEC)

Generalized reduction.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-repeat-1 &key (REPEAT N)

Repeat the loop N times.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-sum-23 &key (SUM EXPR) (INTO VAR)

Sum into VAR.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-there-is-32 &key (THERE-IS EXPR)

Return value of EXPR, as soon as it is non-NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-union-40 &key (UNION EXPR) (INTO VAR) (AT PLACE) (TEST TEST)

Union into a LIST.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-until-29 &key (UNTIL EXPR)

Exit loop, when EXPR is non-NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-warning FORMAT-STRING &rest ARGS

WARN of some improper use of ITERATE.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-while-28 &key (WHILE EXPR)

Exit loop, when EXPR is NIL.

Package

rutils.iter

Source

iter.lisp (file)

Function: clause-with-18 &key (WITH VAR) (= VALUE)

Bind VAR.

Package

rutils.iter

Source

iter.lisp (file)

Function: constant? X

Test, wheather X is a constant.

This differs from CONSTANTP in that it doesn’t acknowledge DEFCONSTANTs to be constants; the problem with so acknowledging them is that the run-time and compile-time environments may differ. The things CONSTANT? returns for are really and truly constant everywhere.

Package

rutils.iter

Source

iter.lisp (file)

Function: contains-duplicates? LST

Check, wheather LST contains duplicate symbols.

Package

rutils.iter

Source

iter.lisp (file)

Function: copy-clause-info INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: copy-driver-info INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: copy-pair SEQUENCE

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

rutils.pair

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: copy-previous-info INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: copy-save-info INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: default-driver-code ()

Default code, that will be executed if no drivers are defined.

Package

rutils.iter

Source

iter.lisp (file)

Function: define-clause DEFINE-FORM CLAUSE-TEMPLATE BODY GENERATOR?
Package

rutils.iter

Source

iter.lisp (file)

Function: delete/swapped-arguments SEQUENCE ITEM &rest KEYWORD-ARGUMENTS
Package

rutils.sequence

Source

sequence.lisp (file)

Function: disp-std-clauses CLAUSE-SPEC INDEX

Display standard (i.e. defined in ITER) clauses.

Package

rutils.iter

Source

iter.lisp (file)

Function: display-clause KWS DOCSTRING

Display a single ITERATE clause with a DOCSTRING, which accepts keywords KWS.

Package

rutils.iter

Source

iter.lisp (file)

Function: display-index &optional INDEX INDENT
Package

rutils.iter

Source

iter.lisp (file)

Function: display-kws KWS

Display ITERATE clause keywords KWS.

Package

rutils.iter

Source

iter.lisp (file)

Function: do-destructuring-bindings TEMPLATE VALUE

Examine TEMPLATE and if it’s a proper VAR-SPEC?, bind its var to VALUE.

Package

rutils.iter

Source

iter.lisp (file)

Function: do-dsetq TEMPLATE VALUE &optional BINDINGS? TYPE
Package

rutils.iter

Source

iter.lisp (file)

Function: do-extra-save-var-hack VAR SAVE-INFO-LIST CODE-LIST

The name speaks for itself.

Package

rutils.iter

Source

iter.lisp (file)

Function: driver-info-generator? INSTANCE
Function: (setf driver-info-generator?) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: driver-info-next-code INSTANCE
Function: (setf driver-info-next-code) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: driver-info-p OBJECT
Package

rutils.iter

Source

iter.lisp (file)

Function: driver-info-used INSTANCE
Function: (setf driver-info-used) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: dsetq-error FORMAT-STRING &rest ARGS

Signal an ERROR in DSETQ.

Package

rutils.iter

Source

iter.lisp (file)

Function: duplicable? X

Return T if X can be copied in code. This is true for symbols,
on the assumption that the copies are close enough to each other so that updating the variable cannot occur.

Package

rutils.iter

Source

iter.lisp (file)

Function: else &rest FORMS

FORMS to execute if the loop is never entered.

Package

rutils.iter

Source

iter.lisp (file)

Function: eval-const-expr EXPR
Package

rutils.iter

Source

iter.lisp (file)

Function: expand-binding BINDING FORM
Package

rutils.bind

Source

bind.lisp (file)

Function: expand-destructuring-case KEY CLAUSES CASE
Package

rutils.misc

Source

misc.lisp (file)

Function: expand-predicate-case PRED KEYFORM CLAUSES CASE
Package

rutils.misc

Source

misc.lisp (file)

Function: expr-type-only EXPR
Package

rutils.iter

Source

iter.lisp (file)

Function: expression-type FORM
Package

rutils.iter

Source

iter.lisp (file)

Function: extract-function-name SPEC

Useful for macros that want to mimic the functional interface for functions like #’eq and ’eq.

Package

rutils.misc

Source

misc.lisp (file)

Function: extract-var VAR-SPEC

Extract variable from THE-declaration or return as is.

Package

rutils.iter

Source

iter.lisp (file)

Function: extract-vars TEMPLATE

Like EXTRACT-VAR, but will work with a destructuring template as well. Returns a list of variables.

Package

rutils.iter

Source

iter.lisp (file)

Function: finally &rest FORMS

FORMS to execute after loop ends.

Package

rutils.iter

Source

iter.lisp (file)

Function: finally-protected &rest FORMS

FORMS to execute in an UNWIND-PROTECT after loop ends.

Package

rutils.iter

Source

iter.lisp (file)

Function: finish ()

Exit the loop gracefully, executing the epilogue.

Package

rutils.iter

Source

iter.lisp (file)

Function: first-iteration-p ()

Return T in the first iteration of the loop.

Package

rutils.iter

Source

iter.lisp (file)

Function: first-time-p ()

Return T for the first time it is evaluated.

Package

rutils.iter

Source

iter.lisp (file)

Function: free-variables FORM
Package

rutils.iter

Source

iter.lisp (file)

Function: free-vars FORM BOUND-VARS
Package

rutils.iter

Source

iter.lisp (file)

Function: free-vars-fspec FSPEC BOUND-VARS

FSPEC is either:
* a symbol
* or (SETF <symbol>)
* or (<name-or-lambda> (<vars>) . body)

Package

rutils.iter

Source

iter.lisp (file)

Function: free-vars-list LIST BOUND-VARS
Package

rutils.iter

Source

iter.lisp (file)

Function: function-quoted? X

Test, wheather X is of the form (FUNCTION ...) - same as #’(...).

Package

rutils.iter

Source

iter.lisp (file)

Function: generate-function-step-code VAR STEP
Package

rutils.iter

Source

iter.lisp (file)

Function: generate-switch-body WHOLE OBJECT CLAUSES TEST KEY &optional DEFAULT
Package

rutils.misc

Source

misc.lisp (file)

Function: genvar &optional STRING

A cross between GENSYM and GENTEMP.

Package

rutils.iter

Source

iter.lisp (file)

Function: get-clause-info CLAUSE &optional INDEX

Get ITERATE CLAUSE info from the INDEX.

Package

rutils.iter

Source

iter.lisp (file)

Function: if-1st-time THEN &optional ELSE FIRST-TIME-VAR

Return:
1. a form, which evaluates THEN the first time through the loop, ELSE – the subsequent times
2. the variable, which may be passed with FIRST-TIME-VAR, that keeps track of first time

Package

rutils.iter

Source

iter.lisp (file)

Function: in BLOCK-NAME &rest FORMS

Process FORMS in an ITER block with BLOCK-NAME.

Package

rutils.iter

Source

iter.lisp (file)

Function: index-add KEY THING INDEX

Add THING, qualified by KEY to the alits inside INDEX.

Package

rutils.iter

Source

iter.lisp (file)

Function: index-lookup ITEM INDEX

Search for ITEM in the alist inside INDEX.

Package

rutils.iter

Source

iter.lisp (file)

Function: index? X

Simple test wheather X is an index list (i.e. starts with :INDEX).

Package

rutils.iter

Source

iter.lisp (file)

Function: initially &rest FORMS

FORMS to execute before loop starts.

Package

rutils.iter

Source

iter.lisp (file)

Function: insert-previous-code ()

For each variable that requires a previous value, get all the update code for that variable and splice in code that will remember the previous values for the desired number of iterations. Return code to put in the init and step sections of the loop.

There are three situations here:
1. Variable has its initial value at the beginning of the loop, or gets its initial value in a different place than where it is updated. In this case, we can put the save code just before each update of the variable. Applicable clauses are: :FOR-PREVIOUS, :FOR-INITIALLY-THEN, and :FOR-FIRST-THEN. (class :INITIAL)
2. The variable is updated somewhere inside the loop, and the update also gives it its first value. We use another, internal save variable, which is set to the variable after each update. This is for :FOR-:= and driver clauses when :NEXT is used.(class :NEXT)
3. Variable is a driver with no :NEXT. We can put the update in the step portion of the loop, since we know the update code occurs at the beginning. (class :STEP)

Note that (3) is really an optimization of (2), and we could perform such an optimization more generally if we could show that a variable in class (2) was always updated before being used. Right now, we don’t bother. *** (3) is no longer done because driver code stays where the driver is. We could try to detect that the driver is at the beginning, but don’t for now.

Package

rutils.iter

Source

iter.lisp (file)

Function: install-clause-info REQ-KEYWORDS KEYWORDS FUNCTION DOC-STRING GENERATOR?
Package

rutils.iter

Source

iter.lisp (file)

Function: install-clause-info-1 KEYWORDS INDEX INFO
Package

rutils.iter

Source

iter.lisp (file)

Function: install-special-clause-function SYMBOL &optional DOCSTRING

Put the SYMBOL with DOCSTRING at the end of *SPECIAL-CLAUSE-ALIST*, if not already present.

Package

rutils.iter

Source

iter.lisp (file)

Function: intern-previous-info VAR

If VAR already has a previous-info structure, return it;
else create a new one, put it where it belongs, and return it. Make sure that if VAR is itself a save-var, the new record
goes after the one for VAR’s var, so that the previous code
is generated before it is itself considered update code for another previous splicing.

Package

rutils.iter

Source

iter.lisp (file)

Function: internal-variable? VAR

Test, if VAR is present in *INTERNAL-VARIABLES*.

Package

rutils.iter

Source

iter.lisp (file)

Function: is-iter-clause? FORM

Test wheather a CAR of FORM is defined as ITERATE clause.

Package

rutils.iter

Source

iter.lisp (file)

Function: is-save-var VAR ENTRY
Package

rutils.iter

Source

iter.lisp (file)

Function: lambda-expression? X

Test, wheather X is a lambda-expression.

Package

rutils.iter

Source

iter.lisp (file)

Function: lambda-list-vars LAMBDA-LIST

Return the variables in the LAMBDA-LIST, omitting keywords, default and values.

Package

rutils.iter

Source

iter.lisp (file)

Function: leave &optional EXPR

Exit the loop without running the epilogue code.

Package

rutils.iter

Source

iter.lisp (file)

Function: list-of-forms? X
Package

rutils.iter

Source

iter.lisp (file)

Function: local-binding-check FORM
Package

rutils.iter

Source

iter.lisp (file)

Function: make-accum-var-binding VAR VALUE KIND &key TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-accum-var-binding-internal VAR VALUE VALUE-SUPPLIED? KIND TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-accum-var-default-binding VAR KIND &key TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-application FN &rest ARGS
Package

rutils.iter

Source

iter.lisp (file)

Function: make-binding VAR VALUE &key TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-binding-internal VAR-SPEC VALUE VALUE-SUPPLIED? USE-TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-clause-info &key (FUNCTION FUNCTION) (KEYWORDS KEYWORDS) (REQ-KEYWORDS REQ-KEYWORDS) (DOC-STRING DOC-STRING) (GENERATOR? GENERATOR?)
Package

rutils.iter

Source

iter.lisp (file)

Function: make-default-binding VAR &key TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-destructuring-bindings TEMPLATE VALUE &key TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: make-driver-info &key (NEXT-CODE NEXT-CODE) (GENERATOR? GENERATOR?) (USED USED)
Package

rutils.iter

Source

iter.lisp (file)

Function: make-dsetqs TEMPLATE VALUE BINDINGS?
Package

rutils.iter

Source

iter.lisp (file)

Function: make-funcall FN &rest ARGS
Package

rutils.iter

Source

iter.lisp (file)

Function: make-function-name REQ-SYMS

From a list of clause symbols REQ-SYMS make a unique symbol.

Package

rutils.iter

Source

iter.lisp (file)

Function: make-initial-value VALUE VALUE-SUPPLIED? TYPE
Package

rutils.iter

Source

iter.lisp (file)

Function: make-mv-dsetqs TEMPLATES VALUE BINDINGS?
Package

rutils.iter

Source

iter.lisp (file)

Function: make-next-code VAR CODE N

Construct the body for NEXT carefully (avoid backquote), ensuring that CODE, and not a copy, appears in it.

Package

rutils.iter

Source

iter.lisp (file)

Function: make-post-save-var VAR
Package

rutils.iter

Source

iter.lisp (file)

Function: make-prev-code SET-VAR S-I &optional CLASS

Generate code fro the PREVIOUS mechanism.

Package

rutils.iter

Source

iter.lisp (file)

Function: make-previous-info &key (VAR VAR) (SAVE-INFO-LIST SAVE-INFO-LIST) (CODE CODE) (CLASS CLASS)
Package

rutils.iter

Source

iter.lisp (file)

Function: make-save-info &key (SAVE-VAR SAVE-VAR) (SAVE-VARS SAVE-VARS) (IV-REF IV-REF)
Package

rutils.iter

Source

iter.lisp (file)

Function: make-save-previous-code VAR SAVE-VARS
Package

rutils.iter

Source

iter.lisp (file)

Function: make-save-vars VAR N
Package

rutils.iter

Source

iter.lisp (file)

Function: make-shared-binding VAR VALUE &key TYPE USING-TYPE-OF

Look up in *SHARED-BINDINGS-ALIST* or create an entry, keyed by VAR, store GENSYM in the VALUE and also add it as a binding. Return the entry.

Package

rutils.iter

Source

iter.lisp (file)

Function: make-var-and-binding STRING VALUE &key TYPE USING-TYPE-OF

Make a binding for a newly GENVAR’ed variable, denoted by STRING, to the given VALUE. Possibly account for it’s TYPE.

Package

rutils.iter

Source

iter.lisp (file)

Function: make-var-and-default-binding STRING &key TYPE USING-TYPE-OF
Package

rutils.iter

Source

iter.lisp (file)

Function: next VAR &optional N

Explicitly step a driver VAR N times. Return VAR, after stepping.

Enclose the returned code in a PROGN, so that the variable reference isn’t confusable with a tag (since the code might appear within a TAGBODY). The PROGN is also necessary, so that spliced-in save code will not result in extra forms, for cases when the NEXT appears as an argument.

Package

rutils.iter

Source

iter.lisp (file)

Function: next-iteration ()

Begin the next iteration.

Package

rutils.iter

Source

iter.lisp (file)

Function: pair-right STRUCTURE
Function: (setf pair-right) VALUE STRUCTURE
Package

rutils.pair

Source

pair.lisp (file)

Function: preprocess-clause CLAUSE

Preprocess ITERATE CLAUSE.

Package

rutils.iter

Source

iter.lisp (file)

Function: previous-info-class INSTANCE
Function: (setf previous-info-class) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: previous-info-code INSTANCE
Function: (setf previous-info-code) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: previous-info-p OBJECT
Package

rutils.iter

Source

iter.lisp (file)

Function: previous-info-save-info-list INSTANCE
Function: (setf previous-info-save-info-list) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: previous-info-var INSTANCE
Function: (setf previous-info-var) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: process-clause CLAUSE

Process ITERATE CLAUSE according to the rules, defined for it.
This should observe the invariant, that the forms it returns are already copied from the original code, hence NCONC-able.

Package

rutils.iter

Source

iter.lisp (file)

Function: process-top-level-decls CLAUSES

Process top-level declarations, present among CLAUSES.
Sets *TYPE-ALIST* to an alist of (var . type), and sets *DECLARE-VARIABLES* /> to T, when such a declaration was seen.

Package

rutils.iter

Source

iter.lisp (file)

Function: progn-wrap FORMS

Transform forms, if more than one is present, and the first is a list: wrap PROGN around. Not copying forms.

Package

rutils.iter

Source

iter.lisp (file)

Function: quoted? X

Test, wheather X is of the form (QUOTE ...).

Package

rutils.iter

Source

iter.lisp (file)

Function: register-previous-code VARS CODE CLASS
Package

rutils.iter

Source

iter.lisp (file)

Function: remove-clause CLAUSE-KEYWORDS

Remove clause from the index. It is identified by CLAUSE-KEYWORDS, which is a list with its symbols keywordized.

Package

rutils.iter

Source

iter.lisp (file)

Function: remove/swapped-arguments SEQUENCE ITEM &rest KEYWORD-ARGUMENTS
Package

rutils.sequence

Source

sequence.lisp (file)

Function: return-code &key DECLARATIONS INITIAL BODY STEP FINAL FINAL-PROTECTED
Package

rutils.iter

Source

iter.lisp (file)

Function: return-code-modifying-body F STUFF MOD-F

Call F with STUFF and return the regular 6 values (see WALK) with 1st return value being the result of application of MOD-F to body, returned by F.

Package

rutils.iter

Source

iter.lisp (file)

Function: return-collection-code &key VARIABLE EXPRESSION START-OPERATION END-OPERATION ONE-ELEMENT TEST PLACE RESULT-TYPE
Package

rutils.iter

Source

iter.lisp (file)

Function: return-extremum-code EXPR VAR-SPEC OPERATION
Package

rutils.iter

Source

iter.lisp (file)

Function: return-find-extremum-code EXPR M-EXPR VAR KIND
Package

rutils.iter

Source

iter.lisp (file)

Function: return-reduction-code &key IDENTITY OPERATION EXTERNAL-OP? VARIABLE EXPRESSION TEST TYPE USING-TYPE-OF ACCUM-KIND
Package

rutils.iter

Source

iter.lisp (file)

Function: return-seq-code &key ELEMENT-VAR SEQUENCE ACCESS-FN SIZE-FN ELEMENT-TYPE SEQUENCE-TYPE FROM UPFROM TO DOWNTO ABOVE BELOW DOWNFROM WITH-INDEX BY GENERATE
Package

rutils.iter

Source

iter.lisp (file)

Function: return-stream-driver-code VAR THING READER STREAM-OR-FILE GENERATE
Package

rutils.iter

Source

iter.lisp (file)

Function: rotate-head-to-tail SEQUENCE N
Package

rutils.sequence

Source

sequence.lisp (file)

Function: rotate-tail-to-head SEQUENCE N
Package

rutils.sequence

Source

sequence.lisp (file)

Function: save-info-iv-ref INSTANCE
Function: (setf save-info-iv-ref) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: save-info-p OBJECT
Package

rutils.iter

Source

iter.lisp (file)

Function: save-info-save-var INSTANCE
Function: (setf save-info-save-var) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: save-info-save-vars INSTANCE
Function: (setf save-info-save-vars) VALUE INSTANCE
Package

rutils.iter

Source

iter.lisp (file)

Function: self-evaluating? X

Test, wheather X is a self-evaluating entity.

Everything but symbols and lists are self-evaluating since CLtL2. This differs from CONSTANTP in that it returns nil for quoted things and DEFCONSTANT’s.

Package

rutils.iter

Source

iter.lisp (file)

Function: special-form? SYMBOL

Check, that SYMBOL is present in *SPECIAL-FORM-ALIST*.
Used instead of SPECIAL-OPERATOR-P, which doesn’t work properly in some compilers (like Lucid). Besides, to track Iterate special clauses.

Package

rutils.iter

Source

iter.lisp (file)

Function: splice-in-code PREV-CODE POST-CODE CODE-LIST

Put PREV-CODE in at the first cons cell of CODE, and POST-CODE at the last cons cell. Both PREV-CODE and POST-CODE are single forms.

Package

rutils.iter

Source

iter.lisp (file)

Function: split-clause-template CT

Split CT into required keywords, optional keywords and values.

Package

rutils.iter

Source

iter.lisp (file)

Function: split-list-odd-even LST

Split LST into odd- and even-numbered elements, returned with VALUES.

Package

rutils.iter

Source

iter.lisp (file)

Function: starts-clause? SYMBOL

Tests wheather SYMBOL is defined as an ITERATE clause starting symbol.

A symbol starts a clause, when it appears in the top-level index *CLAUSE-INFO-INDEX*, in the *SPECIAL-CLAUSE-ALIST*, or it is GENERATE.
This is used to distinguish the case when there’s a lisp form (in which case the symbol doesn’t start a clause), versus the situation, when an erroneous clause is provided.

Package

rutils.iter

Source

iter.lisp (file)

Function: subst-ignore ARG
Package

rutils.bind

Source

bind.lisp (file)

Function: synonym SYMBOL

Get SYNONYM for a SYMBOL. When there’s no SYNONYM, return the SYMBOL itself.

Package

rutils.iter

Source

iter.lisp (file)

Function: terminate ()

Use within FOR...DO-/NEXT to end the iteration.

Package

rutils.iter

Source

iter.lisp (file)

Function: the-expression? X

Test, wheather X is a THE-expression.

Package

rutils.iter

Source

iter.lisp (file)

Function: top-level-check ()

Check for being at *TOP-LEVEL?* and signal CLAUSE-ERROR otherwise.

Package

rutils.iter

Source

iter.lisp (file)

Function: var-binding? VAR

Test, if VAR is present in *BINDINGS*.

Package

rutils.iter

Source

iter.lisp (file)

Function: var-declaration VAR

Return the declaration, associated with VAR.

Package

rutils.iter

Source

iter.lisp (file)

Function: var-spec? X

Test, if X is a proper specifivation of a variable: a symbol or a THE-declaration.

Package

rutils.iter

Source

iter.lisp (file)

Function: var-type VAR

Return type of VAR, which can be given as THE-declaration or as symbol.

Package

rutils.iter

Source

iter.lisp (file)

Function: var-value-returned FORMS
Package

rutils.iter

Source

iter.lisp (file)

Function: walk FORM

Walk the FORM and return the usual 6 things as multiple-values: * body
* type declarations
* initializations code
* stepping code
* final code
* final protected (by UNWIND-PROTECT)

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-arglist ARGS

Walk ARGS list, possibly containing ITERATE clauses.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-cddr FIRST SECOND &rest STUFF

Don’t walk the CAR and CADR of a list. CDDR might not be walked as well.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-cddr-with-declarations FIRST SECOND &rest STUFF

a.k.a. walk-locally
Walk CDDR, ignoring declarations, that might be present in it.
Set *TOP-LEVEL?* to NIL (via WALK-ARGLIST). Note that when *TOP-LEVEL?* is NIL walk won’t yield declarations, because WALK-DECLARE errors out since all forms with *DECLARATION-CONTEXT?* T keep them local (that is, in WALK-LET, WALK-FLET and WALK-MULTIPLE-VALUE-BIND b-decls/edecls are always NIL.)

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-cdr FIRST &rest STUFF

Don’t walk the CAR of a list. CDR might not be walked as well.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-cdr-with-declarations FIRST &rest STUFF

a.k.a. walk-locally
Walk CDR, ignoring declarations, that might be present in it.
Set *TOP-LEVEL?* to NIL (via WALK-ARGLIST). Note that when *TOP-LEVEL?* is NIL walk won’t yield declarations, because WALK-DECLARE errors out since all forms with *DECLARATION-CONTEXT?* T keep them local (that is, in WALK-LET, WALK-FLET and WALK-MULTIPLE-VALUE-BIND b-decls/edecls are always NIL.)

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-declare &rest DECLARATION

Walk DECLARATION. Declarations should be put in the declaration section
of the loop. They are only allowed at top-level, except that they are allowed within binding environments, in which case they apply only to that binding environment.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-expr EXPR

Walk EXPR and return just the PROGN-WRAP’ped body.
Other returned by walking values are AUGMENT’ed to globals and returned by PROCESS-CLAUSE in the end of processing it.

This isn’t used by the code walker itself, but is useful for clauses, that need to walk parts of themselves.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-flet FLET BINDINGS &rest BODY

Walk FLET or LABELS declarations. We don’t worry about the function bindings.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-fspec FORM

Walk lambdas’ and functions’ specs in FLET and LABELS.
FORM is (lambda-or-name args . body).
Only walk at the body. The args are set up as internal variables. Declarations are kept internal to the body.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-function FUNCTION FORM

Walk FUNCTION specification.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-let LET-KEY BINDINGS &rest BODY

Walk LET-form, with BINDINGS and BODY, which may contain ITERATE clauses. The declarations go inside this let, not to the top-level. It is an error to use a variable in the LET-bindings as the target of accumulation (i.e. INTO), because ITERATE will try to make a top-level binding for that variable.
The same goes for other variables, that might be so bound.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-let*-bindings BINDINGS

Walk BINDINGS for LET* one at a time, to get the variable scoping right.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-let-binding BINDING

Walk a simgle BINDING for LET or LET*.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-let-bindings LET-KEY BINDINGS

Walk BINDINGS, established by LET or LET*.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-list FORMS

Walk FORMS, as a simple list.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-list-nconcing LST WALK-FN &optional BODY-DURING

Lowest-level walking function for lists. Applies WALK-FN to LST. Applies BODY-DURING to the body part, returned by WALK-FN.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-macrolet FORM-NAME &rest STUFF

MACROLET is not supported inside ITER. Signal an error.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-multiple-value-bind MVB VARS EXPR &rest BODY

Walk BINDINGS for MULTIPLE-VALUE-BIND. Declarations go inside the MULTIPLE-VALUE-BIND form, not to the top-level. See WALK-LET for binding subtleties.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-progn PROGN &rest STUFF

Don’t walk the CAR of a list. CDR might not be walked as well, though.
The only difference between this and WALK-CDR is that *TOP-LEVEL* isn’t bound. This is so macros can return PROGNs of things.
It’s exactly like the definition of ’top-level’ in lisp.
(Also, just for looks, this returns NIL if the PROGN is empty.)

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-setq SETQ &rest THINGS

Walk every thing in THINGS.

Package

rutils.iter

Source

iter.lisp (file)

Function: walk-special-form FORM

Walk a special form, defined in *SPECIAL-FORM-ALIST*.

Package

rutils.iter

Source

iter.lisp (file)

Function: wrap-form WRAPPERS FORM

Wrap FORM with WRAPPERS, that should be given as a list.

Package

rutils.iter

Source

iter.lisp (file)


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

6.2.4 Generic functions

Generic Function: case-failure-name CONDITION
Package

rutils.misc

Methods
Method: case-failure-name (CONDITION case-failure)
Source

misc.lisp (file)

Generic Function: case-failure-possibilities CONDITION
Package

rutils.misc

Methods
Method: case-failure-possibilities (CONDITION case-failure)
Source

misc.lisp (file)

Generic Function: generic-setf OBJ KEY &rest KEYS-AND-VAL

Generic element access in OBJ by KEY. Supports chaining with KEYS.

Package

rutils.generic

Source

generic.lisp (file)

Setf Expander

(setf ?) (setf expander)

Methods
Method: generic-setf (OBJ standard-object) KEY &rest KEYS-AND-VAL
Method: generic-setf (OBJ structure-object) KEY &rest KEYS-AND-VAL
Method: generic-setf (OBJ hash-table) KEY &rest KEYS-AND-VAL
Method: generic-setf (OBJ sequence) KEY &rest KEYS-AND-VAL
Method: generic-setf (OBJ vector) KEY &rest KEYS-AND-VAL
Method: generic-setf (OBJ list) KEY &rest KEYS-AND-VAL
Method: generic-setf (OBJ (eql nil)) KEY &rest KEYS
Method: generic-setf OBJ KEY &rest KEYS-AND-VAL around
Generic Function: smart-set-slot-value OBJ SLOT VAL

Similar to (SETF SLOT-VALUE) but tries to find slot definitions regardless of the package.

Package

rutils.generic

Source

generic.lisp (file)

Setf Expander

(setf smart-slot-value) (setf expander)

Methods
Method: smart-set-slot-value OBJ SLOT VAL

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

6.2.5 Structures

Structure: clause-info ()

Clause-info structures, which are put in the clause index.

Package

rutils.iter

Source

iter.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: function
Readers

clause-info-function (function)

Writers

(setf clause-info-function) (function)

Slot: keywords
Readers

clause-info-keywords (function)

Writers

(setf clause-info-keywords) (function)

Slot: req-keywords
Readers

clause-info-req-keywords (function)

Writers

(setf clause-info-req-keywords) (function)

Slot: doc-string
Readers

clause-info-doc-string (function)

Writers

(setf clause-info-doc-string) (function)

Slot: generator?
Readers

clause-info-generator? (function)

Writers

(setf clause-info-generator?) (function)

Structure: driver-info ()

Driver-info structures, used by NEXT.

Package

rutils.iter

Source

iter.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: next-code
Readers

driver-info-next-code (function)

Writers

(setf driver-info-next-code) (function)

Slot: generator?
Readers

driver-info-generator? (function)

Writers

(setf driver-info-generator?) (function)

Slot: used
Readers

driver-info-used (function)

Writers

(setf driver-info-used) (function)

Structure: previous-info ()

Info structure, used by PREVIOUS.

Package

rutils.iter

Source

iter.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: var
Readers

previous-info-var (function)

Writers

(setf previous-info-var) (function)

Slot: save-info-list
Readers

previous-info-save-info-list (function)

Writers

(setf previous-info-save-info-list) (function)

Slot: code
Readers

previous-info-code (function)

Writers

(setf previous-info-code) (function)

Slot: class
Initform

:step

Readers

previous-info-class (function)

Writers

(setf previous-info-class) (function)

Structure: save-info ()

Info structure, used by the PREVIOUS.

Package

rutils.iter

Source

iter.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: save-var
Readers

save-info-save-var (function)

Writers

(setf save-info-save-var) (function)

Slot: save-vars
Readers

save-info-save-vars (function)

Writers

(setf save-info-save-vars) (function)

Slot: iv-ref
Readers

save-info-iv-ref (function)

Writers

(setf save-info-iv-ref) (function)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   M   R  
Index Entry  Section

F
File, Lisp, rutils.asd: The rutils․asd file
File, Lisp, rutils/core/abbr.lisp: The rutils/core/abbr․lisp file
File, Lisp, rutils/core/anaphora.lisp: The rutils/core/anaphora․lisp file
File, Lisp, rutils/core/array.lisp: The rutils/core/array․lisp file
File, Lisp, rutils/core/bind.lisp: The rutils/core/bind․lisp file
File, Lisp, rutils/core/generic.lisp: The rutils/core/generic․lisp file
File, Lisp, rutils/core/hash-set.lisp: The rutils/core/hash-set․lisp file
File, Lisp, rutils/core/hash-table.lisp: The rutils/core/hash-table․lisp file
File, Lisp, rutils/core/iter.lisp: The rutils/core/iter․lisp file
File, Lisp, rutils/core/kv.lisp: The rutils/core/kv․lisp file
File, Lisp, rutils/core/list.lisp: The rutils/core/list․lisp file
File, Lisp, rutils/core/misc.lisp: The rutils/core/misc․lisp file
File, Lisp, rutils/core/packages.lisp: The rutils/core/packages․lisp file
File, Lisp, rutils/core/pair.lisp: The rutils/core/pair․lisp file
File, Lisp, rutils/core/readtable.lisp: The rutils/core/readtable․lisp file
File, Lisp, rutils/core/rutils.lisp: The rutils/core/rutils․lisp file
File, Lisp, rutils/core/sequence.lisp: The rutils/core/sequence․lisp file
File, Lisp, rutils/core/string.lisp: The rutils/core/string․lisp file
File, Lisp, rutils/core/symbol.lisp: The rutils/core/symbol․lisp file
File, Lisp, rutils/core/tree.lisp: The rutils/core/tree․lisp file

L
Lisp File, rutils.asd: The rutils․asd file
Lisp File, rutils/core/abbr.lisp: The rutils/core/abbr․lisp file
Lisp File, rutils/core/anaphora.lisp: The rutils/core/anaphora․lisp file
Lisp File, rutils/core/array.lisp: The rutils/core/array․lisp file
Lisp File, rutils/core/bind.lisp: The rutils/core/bind․lisp file
Lisp File, rutils/core/generic.lisp: The rutils/core/generic․lisp file
Lisp File, rutils/core/hash-set.lisp: The rutils/core/hash-set․lisp file
Lisp File, rutils/core/hash-table.lisp: The rutils/core/hash-table․lisp file
Lisp File, rutils/core/iter.lisp: The rutils/core/iter․lisp file
Lisp File, rutils/core/kv.lisp: The rutils/core/kv․lisp file
Lisp File, rutils/core/list.lisp: The rutils/core/list․lisp file
Lisp File, rutils/core/misc.lisp: The rutils/core/misc․lisp file
Lisp File, rutils/core/packages.lisp: The rutils/core/packages․lisp file
Lisp File, rutils/core/pair.lisp: The rutils/core/pair․lisp file
Lisp File, rutils/core/readtable.lisp: The rutils/core/readtable․lisp file
Lisp File, rutils/core/rutils.lisp: The rutils/core/rutils․lisp file
Lisp File, rutils/core/sequence.lisp: The rutils/core/sequence․lisp file
Lisp File, rutils/core/string.lisp: The rutils/core/string․lisp file
Lisp File, rutils/core/symbol.lisp: The rutils/core/symbol․lisp file
Lisp File, rutils/core/tree.lisp: The rutils/core/tree․lisp file

M
Module, rutils/core: The rutils/core module

R
rutils.asd: The rutils․asd file
rutils/core: The rutils/core module
rutils/core/abbr.lisp: The rutils/core/abbr․lisp file
rutils/core/anaphora.lisp: The rutils/core/anaphora․lisp file
rutils/core/array.lisp: The rutils/core/array․lisp file
rutils/core/bind.lisp: The rutils/core/bind․lisp file
rutils/core/generic.lisp: The rutils/core/generic․lisp file
rutils/core/hash-set.lisp: The rutils/core/hash-set․lisp file
rutils/core/hash-table.lisp: The rutils/core/hash-table․lisp file
rutils/core/iter.lisp: The rutils/core/iter․lisp file
rutils/core/kv.lisp: The rutils/core/kv․lisp file
rutils/core/list.lisp: The rutils/core/list․lisp file
rutils/core/misc.lisp: The rutils/core/misc․lisp file
rutils/core/packages.lisp: The rutils/core/packages․lisp file
rutils/core/pair.lisp: The rutils/core/pair․lisp file
rutils/core/readtable.lisp: The rutils/core/readtable․lisp file
rutils/core/rutils.lisp: The rutils/core/rutils․lisp file
rutils/core/sequence.lisp: The rutils/core/sequence․lisp file
rutils/core/string.lisp: The rutils/core/string․lisp file
rutils/core/symbol.lisp: The rutils/core/symbol․lisp file
rutils/core/tree.lisp: The rutils/core/tree․lisp file

Jump to:   F   L   M   R  

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

A.2 Functions

Jump to:   #   (   -   2   =   ?   @   ^  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Z  
Index Entry  Section

#
#/-reader: Exported functions
#h-reader: Exported functions
#v-reader: Exported functions
#`-reader: Exported functions
#{-reader: Exported functions

(
(setf ?): Exported generic functions
(setf clause-info-doc-string): Internal functions
(setf clause-info-function): Internal functions
(setf clause-info-generator?): Internal functions
(setf clause-info-keywords): Internal functions
(setf clause-info-req-keywords): Internal functions
(setf driver-info-generator?): Internal functions
(setf driver-info-next-code): Internal functions
(setf driver-info-used): Internal functions
(setf generic-elt): Exported generic functions
(setf generic-elt-error-key): Exported generic functions
(setf generic-elt-error-key): Exported generic functions
(setf generic-elt-error-obj): Exported generic functions
(setf generic-elt-error-obj): Exported generic functions
(setf get#): Exported functions
(setf last-elt): Exported functions
(setf last1): Exported functions
(setf pair-left): Exported functions
(setf pair-right): Internal functions
(setf previous-info-class): Internal functions
(setf previous-info-code): Internal functions
(setf previous-info-save-info-list): Internal functions
(setf previous-info-var): Internal functions
(setf save-info-iv-ref): Internal functions
(setf save-info-save-var): Internal functions
(setf save-info-save-vars): Internal functions
(setf smart-slot-value): Exported generic functions

-
->: Exported macros
->>: Exported macros

2
2nd: Exported macros

=
=>: Exported macros

?
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions
?: Exported generic functions

@
@-reader: Exported functions

^
^-reader: Internal functions

A
aand: Exported macros
abbr: Exported macros
acond: Exported macros
add#: Exported functions
add-binding: Internal functions
add-driver-info: Internal functions
add-internal-var: Internal functions
add-internal-vars: Internal functions
add-loop-body-wrapper: Internal functions
add-progn: Internal functions
adding-smart-slot-methods: Internal macros
adowhile: Exported macros
after-each: Internal functions
aif: Exported macros
alist->ht: Exported functions
alist-to-plist: Exported functions
alistp: Exported functions
ambiguity-check-clause: Internal functions
ambiguity-check-index: Internal functions
ambiguous-clauses?: Internal functions
and-bind: Exported macros
and-it: Exported macros
and-let: Exported macros
and2: Exported functions
appendf: Exported macros
apply-clause-function: Internal functions
apply-subst-expr: Internal functions
arg-check: Internal functions
assoc1: Exported functions
atomize: Exported functions
augment: Internal macros
awhen: Exported macros

B
bind: Exported macros
bind-dispatch: Exported generic functions
bind-dispatch: Exported generic functions
bind-dispatch: Exported generic functions
bind-dispatch: Exported generic functions
bind-dispatch: Exported generic functions
blankp: Exported functions
bug: Internal functions
build-index: Internal functions
butlast2: Exported functions

C
call: Exported functions
case-failure-name: Internal generic functions
case-failure-name: Internal generic functions
case-failure-possibilities: Internal generic functions
case-failure-possibilities: Internal generic functions
check-internal-variables: Internal functions
check-sequence-keywords: Internal functions
clause-accumulate-by-42: Internal functions
clause-adjoin-37: Internal functions
clause-always-30: Internal functions
clause-append-39: Internal functions
clause-collect-36: Internal functions
clause-count-22: Internal functions
clause-error: Internal functions
clause-find-max-34: Internal functions
clause-find-min-35: Internal functions
clause-find-such-that-33: Internal functions
clause-for-2: Internal functions
clause-for-=-20: Internal functions
clause-for-do-next-17: Internal functions
clause-for-first-then-21: Internal functions
clause-for-in-4: Internal functions
clause-for-in-file-14: Internal functions
clause-for-in-hashtable-11: Internal functions
clause-for-in-package-13: Internal macros
clause-for-in-packages-12: Internal functions
clause-for-in-sequence-7: Internal functions
clause-for-in-stream-15: Internal functions
clause-for-in-string-9: Internal functions
clause-for-in-vector-5: Internal functions
clause-for-index-of-sequence-8: Internal functions
clause-for-index-of-string-10: Internal functions
clause-for-index-of-vector-6: Internal functions
clause-for-initially-then-19: Internal functions
clause-for-next-16: Internal functions
clause-for-on-3: Internal functions
clause-for-prev-43: Internal functions
clause-info-doc-string: Internal functions
clause-info-function: Internal functions
clause-info-generator?: Internal functions
clause-info-keywords: Internal functions
clause-info-p: Internal functions
clause-info-req-keywords: Internal functions
clause-matches?: Internal functions
clause-max-26: Internal functions
clause-min-27: Internal functions
clause-mult-24: Internal functions
clause-nconc-38: Internal functions
clause-never-31: Internal functions
clause-nunion-41: Internal functions
clause-reduce-by-25: Internal functions
clause-repeat-1: Internal functions
clause-sum-23: Internal functions
clause-there-is-32: Internal functions
clause-union-40: Internal functions
clause-until-29: Internal functions
clause-warning: Internal functions
clause-while-28: Internal functions
clause-with-18: Internal functions
coercef: Exported macros
Compiler Macro, equal-lengths: Exported compiler macros
concat: Exported functions
cond-bind: Exported macros
cond-it: Exported macros
cond-let: Exported macros
constant?: Internal functions
contains-duplicates?: Internal functions
copy: Exported generic functions
copy: Exported generic functions
copy: Exported generic functions
copy: Exported generic functions
copy: Exported generic functions
copy-array: Exported functions
copy-clause-info: Internal functions
copy-driver-info: Internal functions
copy-hash-table: Exported functions
copy-pair: Internal functions
copy-previous-info: Internal functions
copy-save-info: Internal functions
cswitch: Exported macros

D
dcase: Exported macros
dccase: Exported macros
dcons: Exported functions
decase: Exported macros
def-special-clause: Internal macros
default-driver-code: Internal functions
defclause: Exported macros
defclause-driver: Exported macros
defclause-sequence: Exported macros
define-clause: Internal functions
defmacro-clause: Exported macros
defmacro-driver: Exported macros
defpar: Exported macros
defsynonym: Internal macros
delete-from-plist: Exported functions
delete/swapped-arguments: Internal functions
deletef: Exported macros
diff#: Exported functions
disp-std-clauses: Internal functions
display-clause: Internal functions
display-index: Internal functions
display-iter-clauses: Exported functions
display-kws: Internal functions
dlistp: Exported functions
do-destructuring-bindings: Internal functions
do-dsetq: Internal functions
do-extra-save-var-hack: Internal functions
doindex: Exported macros
dokv: Exported macros
doleaves: Exported macros
dolines: Exported macros
doplist: Exported macros
dotable: Exported macros
dotree: Exported macros
dovec: Exported macros
dowhile-bind: Exported macros
dowhile-it: Exported macros
dowhile-let: Exported macros
driver-info-generator?: Internal functions
driver-info-next-code: Internal functions
driver-info-p: Internal functions
driver-info-used: Internal functions
ds-bind: Exported macros
dsetq: Exported macros
dsetq-error: Internal functions
duplicable?: Internal functions
dyadic: Exported functions

E
else: Internal functions
emptyp: Exported functions
emptyp#: Exported functions
ends-with: Exported functions
ensure-keyword: Exported functions
ensure-list: Exported functions
ensure-symbol: Exported functions
eq-test: Exported generic functions
eq-test: Exported generic functions
eq-test: Exported generic functions
equal-lengths: Exported compiler macros
equal-lengths: Exported functions
eswitch: Exported macros
eval-always: Exported macros
eval-const-expr: Internal functions
expand-binding: Internal functions
expand-destructuring-case: Internal functions
expand-predicate-case: Internal functions
expr-type-only: Internal functions
expression-type: Internal functions
extract-function-name: Internal functions
extract-var: Internal functions
extract-vars: Internal functions

F
finally: Internal functions
finally-protected: Internal functions
finish: Internal functions
first-iteration-p: Internal functions
first-time-p: Internal functions
flat-map: Exported functions
flatten: Exported functions
flet*: Exported macros
fmt: Exported functions
fn: Exported macros
free-variables: Internal functions
free-vars: Internal functions
free-vars-fspec: Internal functions
free-vars-list: Internal functions
Function, #/-reader: Exported functions
Function, #h-reader: Exported functions
Function, #v-reader: Exported functions
Function, #`-reader: Exported functions
Function, #{-reader: Exported functions
Function, (setf clause-info-doc-string): Internal functions
Function, (setf clause-info-function): Internal functions
Function, (setf clause-info-generator?): Internal functions
Function, (setf clause-info-keywords): Internal functions
Function, (setf clause-info-req-keywords): Internal functions
Function, (setf driver-info-generator?): Internal functions
Function, (setf driver-info-next-code): Internal functions
Function, (setf driver-info-used): Internal functions
Function, (setf last-elt): Exported functions
Function, (setf last1): Exported functions
Function, (setf pair-left): Exported functions
Function, (setf pair-right): Internal functions
Function, (setf previous-info-class): Internal functions
Function, (setf previous-info-code): Internal functions
Function, (setf previous-info-save-info-list): Internal functions
Function, (setf previous-info-var): Internal functions
Function, (setf save-info-iv-ref): Internal functions
Function, (setf save-info-save-var): Internal functions
Function, (setf save-info-save-vars): Internal functions
Function, @-reader: Exported functions
Function, add#: Exported functions
Function, add-binding: Internal functions
Function, add-driver-info: Internal functions
Function, add-internal-var: Internal functions
Function, add-internal-vars: Internal functions
Function, add-loop-body-wrapper: Internal functions
Function, add-progn: Internal functions
Function, after-each: Internal functions
Function, alist->ht: Exported functions
Function, alist-to-plist: Exported functions
Function, alistp: Exported functions
Function, ambiguity-check-clause: Internal functions
Function, ambiguity-check-index: Internal functions
Function, ambiguous-clauses?: Internal functions
Function, and2: Exported functions
Function, apply-clause-function: Internal functions
Function, apply-subst-expr: Internal functions
Function, arg-check: Internal functions
Function, assoc1: Exported functions
Function, atomize: Exported functions
Function, blankp: Exported functions
Function, bug: Internal functions
Function, build-index: Internal functions
Function, butlast2: Exported functions
Function, call: Exported functions
Function, check-internal-variables: Internal functions
Function, check-sequence-keywords: Internal functions
Function, clause-accumulate-by-42: Internal functions
Function, clause-adjoin-37: Internal functions
Function, clause-always-30: Internal functions
Function, clause-append-39: Internal functions
Function, clause-collect-36: Internal functions
Function, clause-count-22: Internal functions
Function, clause-error: Internal functions
Function, clause-find-max-34: Internal functions
Function, clause-find-min-35: Internal functions
Function, clause-find-such-that-33: Internal functions
Function, clause-for-2: Internal functions
Function, clause-for-=-20: Internal functions
Function, clause-for-do-next-17: Internal functions
Function, clause-for-first-then-21: Internal functions
Function, clause-for-in-4: Internal functions
Function, clause-for-in-file-14: Internal functions
Function, clause-for-in-hashtable-11: Internal functions
Function, clause-for-in-packages-12: Internal functions
Function, clause-for-in-sequence-7: Internal functions
Function, clause-for-in-stream-15: Internal functions
Function, clause-for-in-string-9: Internal functions
Function, clause-for-in-vector-5: Internal functions
Function, clause-for-index-of-sequence-8: Internal functions
Function, clause-for-index-of-string-10: Internal functions
Function, clause-for-index-of-vector-6: Internal functions
Function, clause-for-initially-then-19: Internal functions
Function, clause-for-next-16: Internal functions
Function, clause-for-on-3: Internal functions
Function, clause-for-prev-43: Internal functions
Function, clause-info-doc-string: Internal functions
Function, clause-info-function: Internal functions
Function, clause-info-generator?: Internal functions
Function, clause-info-keywords: Internal functions
Function, clause-info-p: Internal functions
Function, clause-info-req-keywords: Internal functions
Function, clause-matches?: Internal functions
Function, clause-max-26: Internal functions
Function, clause-min-27: Internal functions
Function, clause-mult-24: Internal functions
Function, clause-nconc-38: Internal functions
Function, clause-never-31: Internal functions
Function, clause-nunion-41: Internal functions
Function, clause-reduce-by-25: Internal functions
Function, clause-repeat-1: Internal functions
Function, clause-sum-23: Internal functions
Function, clause-there-is-32: Internal functions
Function, clause-union-40: Internal functions
Function, clause-until-29: Internal functions
Function, clause-warning: Internal functions
Function, clause-while-28: Internal functions
Function, clause-with-18: Internal functions
Function, concat: Exported functions
Function, constant?: Internal functions
Function, contains-duplicates?: Internal functions
Function, copy-array: Exported functions
Function, copy-clause-info: Internal functions
Function, copy-driver-info: Internal functions
Function, copy-hash-table: Exported functions
Function, copy-pair: Internal functions
Function, copy-previous-info: Internal functions
Function, copy-save-info: Internal functions
Function, dcons: Exported functions
Function, default-driver-code: Internal functions
Function, define-clause: Internal functions
Function, delete-from-plist: Exported functions
Function, delete/swapped-arguments: Internal functions
Function, diff#: Exported functions
Function, disp-std-clauses: Internal functions
Function, display-clause: Internal functions
Function, display-index: Internal functions
Function, display-iter-clauses: Exported functions
Function, display-kws: Internal functions
Function, dlistp: Exported functions
Function, do-destructuring-bindings: Internal functions
Function, do-dsetq: Internal functions
Function, do-extra-save-var-hack: Internal functions
Function, driver-info-generator?: Internal functions
Function, driver-info-next-code: Internal functions
Function, driver-info-p: Internal functions
Function, driver-info-used: Internal functions
Function, dsetq-error: Internal functions
Function, duplicable?: Internal functions
Function, dyadic: Exported functions
Function, else: Internal functions
Function, emptyp: Exported functions
Function, emptyp#: Exported functions
Function, ends-with: Exported functions
Function, ensure-keyword: Exported functions
Function, ensure-list: Exported functions
Function, ensure-symbol: Exported functions
Function, equal-lengths: Exported functions
Function, eval-const-expr: Internal functions
Function, expand-binding: Internal functions
Function, expand-destructuring-case: Internal functions
Function, expand-predicate-case: Internal functions
Function, expr-type-only: Internal functions
Function, expression-type: Internal functions
Function, extract-function-name: Internal functions
Function, extract-var: Internal functions
Function, extract-vars: Internal functions
Function, finally: Internal functions
Function, finally-protected: Internal functions
Function, finish: Internal functions
Function, first-iteration-p: Internal functions
Function, first-time-p: Internal functions
Function, flat-map: Exported functions
Function, flatten: Exported functions
Function, fmt: Exported functions
Function, free-variables: Internal functions
Function, free-vars: Internal functions
Function, free-vars-fspec: Internal functions
Function, free-vars-list: Internal functions
Function, function-quoted?: Internal functions
Function, generate-function-step-code: Internal functions
Function, generate-switch-body: Internal functions
Function, genvar: Internal functions
Function, get#: Exported functions
Function, get-clause-info: Internal functions
Function, group: Exported functions
Function, hash-set: Exported functions
Function, hash-table-from-alist: Exported functions
Function, hash-table-from-plist: Exported functions
Function, hash-table-keys: Exported functions
Function, hash-table-to-alist: Exported functions
Function, hash-table-to-plist: Exported functions
Function, hash-table-vals: Exported functions
Function, ht->alist: Exported functions
Function, ht->pairs: Exported functions
Function, ht->plist: Exported functions
Function, ht-count: Exported functions
Function, ht-keys: Exported functions
Function, ht-vals: Exported functions
Function, if-1st-time: Internal functions
Function, in: Internal functions
Function, in#: Exported functions
Function, index-add: Internal functions
Function, index-lookup: Internal functions
Function, index?: Internal functions
Function, initially: Internal functions
Function, insert-previous-code: Internal functions
Function, install-clause-info: Internal functions
Function, install-clause-info-1: Internal functions
Function, install-special-clause-function: Internal functions
Function, inter#: Exported functions
Function, interleave: Exported functions
Function, intern-previous-info: Internal functions
Function, internal-variable?: Internal functions
Function, interpose: Exported functions
Function, is-iter-clause?: Internal functions
Function, is-save-var: Internal functions
Function, just: Exported functions
Function, keep: Exported functions
Function, keep-if: Exported functions
Function, keep-if-not: Exported functions
Function, lambda-expression?: Internal functions
Function, lambda-list-vars: Internal functions
Function, last-char: Exported functions
Function, last-elt: Exported functions
Function, last1: Exported functions
Function, leave: Internal functions
Function, length=: Exported functions
Function, less: Exported functions
Function, list-of-forms?: Internal functions
Function, local-binding-check: Internal functions
Function, lt: Exported functions
Function, m1: Exported functions
Function, make-accum-var-binding: Internal functions
Function, make-accum-var-binding-internal: Internal functions
Function, make-accum-var-default-binding: Internal functions
Function, make-application: Internal functions
Function, make-binding: Internal functions
Function, make-binding-internal: Internal functions
Function, make-clause-info: Internal functions
Function, make-default-binding: Internal functions
Function, make-destructuring-bindings: Internal functions
Function, make-driver-info: Internal functions
Function, make-dsetqs: Internal functions
Function, make-funcall: Internal functions
Function, make-function-name: Internal functions
Function, make-gensym-list: Exported functions
Function, make-initial-value: Internal functions
Function, make-mv-dsetqs: Internal functions
Function, make-next-code: Internal functions
Function, make-pair: Exported functions
Function, make-post-save-var: Internal functions
Function, make-prev-code: Internal functions
Function, make-previous-info: Internal functions
Function, make-save-info: Internal functions
Function, make-save-previous-code: Internal functions
Function, make-save-vars: Internal functions
Function, make-shared-binding: Internal functions
Function, make-var-and-binding: Internal functions
Function, make-var-and-default-binding: Internal functions
Function, map*: Exported functions
Function, mapcanindex: Exported functions
Function, mapcat: Exported functions
Function, mapindex: Exported functions
Function, mapleaves: Exported functions
Function, mappend: Exported functions
Function, maptimes: Exported functions
Function, maptree: Exported functions
Function, merge-hash-tables: Exported functions
Function, merge-hash-tables-with: Exported functions
Function, merge-hts: Exported functions
Function, merge-hts-with: Exported functions
Function, mkeyw: Exported functions
Function, mklist: Exported functions
Function, mksym: Exported functions
Function, more: Exported functions
Function, next: Internal functions
Function, next-iteration: Internal functions
Function, not-less: Exported functions
Function, not-more: Exported functions
Function, nshuffle: Exported functions
Function, or2: Exported functions
Function, p#: Exported functions
Function, package-external-symbols: Exported functions
Function, package-internal-symbols: Exported functions
Function, package-symbols: Exported functions
Function, pair: Exported functions
Function, pair-left: Exported functions
Function, pair-right: Internal functions
Function, pairs->ht: Exported functions
Function, partition-with: Exported functions
Function, permutations: Exported functions
Function, plist->ht: Exported functions
Function, plist-to-alist: Exported functions
Function, plistp: Exported functions
Function, preprocess-clause: Internal functions
Function, previous-info-class: Internal functions
Function, previous-info-code: Internal functions
Function, previous-info-p: Internal functions
Function, previous-info-save-info-list: Internal functions
Function, previous-info-var: Internal functions
Function, print-hash-table: Exported functions
Function, print-ht: Exported functions
Function, process-clause: Internal functions
Function, process-top-level-decls: Internal functions
Function, product: Exported functions
Function, progn-wrap: Internal functions
Function, pushx: Exported functions
Function, quoted?: Internal functions
Function, range: Exported functions
Function, re-export-symbols: Exported functions
Function, read-file: Exported functions
Function, register-previous-code: Internal functions
Function, rem#: Exported functions
Function, remove-clause: Internal functions
Function, remove-from-plist: Exported functions
Function, remove-idx: Exported functions
Function, remove/swapped-arguments: Internal functions
Function, return-code: Internal functions
Function, return-code-modifying-body: Internal functions
Function, return-collection-code: Internal functions
Function, return-extremum-code: Internal functions
Function, return-find-extremum-code: Internal functions
Function, return-reduction-code: Internal functions
Function, return-seq-code: Internal functions
Function, return-stream-driver-code: Internal functions
Function, rotate: Exported functions
Function, rotate-head-to-tail: Internal functions
Function, rotate-tail-to-head: Internal functions
Function, rt: Exported functions
Function, safe-sort: Exported functions
Function, save-info-iv-ref: Internal functions
Function, save-info-p: Internal functions
Function, save-info-save-var: Internal functions
Function, save-info-save-vars: Internal functions
Function, self-evaluating?: Internal functions
Function, set#: Exported functions
Function, set-equal: Exported functions
Function, sethash: Exported functions
Function, shuffle: Exported functions
Function, single: Exported functions
Function, slice: Exported functions
Function, slurp: Exported functions
Function, special-form?: Internal functions
Function, splice-in-code: Internal functions
Function, split: Exported functions
Function, split-clause-template: Internal functions
Function, split-if: Exported functions
Function, split-if-not: Exported functions
Function, split-list-odd-even: Internal functions
Function, split-sequence: Exported functions
Function, split-sequence-if: Exported functions
Function, split-sequence-if-not: Exported functions
Function, split-string: Exported functions
Function, starts-clause?: Internal functions
Function, starts-with: Exported functions
Function, strcat: Exported functions
Function, strjoin: Exported functions
Function, sub: Exported functions
Function, subst-ignore: Internal functions
Function, substr: Exported functions
Function, sum: Exported functions
Function, synonym: Internal functions
Function, take: Exported functions
Function, take#: Exported functions
Function, takehash: Exported functions
Function, terminate: Internal functions
Function, the-expression?: Internal functions
Function, toggle-print-hash-table: Exported functions
Function, top-level-check: Internal functions
Function, tree-depth: Exported functions
Function, tree-size: Exported functions
Function, true: Exported functions
Function, tryadic: Exported functions
Function, union#: Exported functions
Function, var-binding?: Internal functions
Function, var-declaration: Internal functions
Function, var-spec?: Internal functions
Function, var-type: Internal functions
Function, var-value-returned: Internal functions
Function, vec: Exported functions
Function, walk: Internal functions
Function, walk-arglist: Internal functions
Function, walk-cddr: Internal functions
Function, walk-cddr-with-declarations: Internal functions
Function, walk-cdr: Internal functions
Function, walk-cdr-with-declarations: Internal functions
Function, walk-declare: Internal functions
Function, walk-expr: Internal functions
Function, walk-flet: Internal functions
Function, walk-fspec: Internal functions
Function, walk-function: Internal functions
Function, walk-let: Internal functions
Function, walk-let*-bindings: Internal functions
Function, walk-let-binding: Internal functions
Function, walk-let-bindings: Internal functions
Function, walk-list: Internal functions
Function, walk-list-nconcing: Internal functions
Function, walk-macrolet: Internal functions
Function, walk-multiple-value-bind: Internal functions
Function, walk-progn: Internal functions
Function, walk-setq: Internal functions
Function, walk-special-form: Internal functions
Function, white-char-p: Exported functions
Function, wrap-form: Internal functions
Function, xor#: Exported functions
Function, xor2: Exported functions
Function, zip: Exported functions
Function, zip*: Exported functions
Function, zip*-with: Exported functions
Function, zip-with: Exported functions
Function, ^-reader: Internal functions
function-quoted?: Internal functions

G
generate-function-step-code: Internal functions
generate-switch-body: Internal functions
Generic Function, (setf generic-elt-error-key): Exported generic functions
Generic Function, (setf generic-elt-error-obj): Exported generic functions
Generic Function, ?: Exported generic functions
Generic Function, bind-dispatch: Exported generic functions
Generic Function, case-failure-name: Internal generic functions
Generic Function, case-failure-possibilities: Internal generic functions
Generic Function, copy: Exported generic functions
Generic Function, eq-test: Exported generic functions
Generic Function, generic-elt: Exported generic functions
Generic Function, generic-elt-error-key: Exported generic functions
Generic Function, generic-elt-error-obj: Exported generic functions
Generic Function, generic-setf: Internal generic functions
Generic Function, keys: Exported generic functions
Generic Function, kvs: Exported generic functions
Generic Function, make: Exported generic functions
Generic Function, mapkv: Exported generic functions
Generic Function, pairs: Exported generic functions
Generic Function, smart-set-slot-value: Internal generic functions
Generic Function, smart-slot-value: Exported generic functions
Generic Function, tally: Exported generic functions
Generic Function, vals: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt: Exported generic functions
generic-elt-error-key: Exported generic functions
generic-elt-error-key: Exported generic functions
generic-elt-error-obj: Exported generic functions
generic-elt-error-obj: Exported generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
generic-setf: Internal generic functions
genvar: Internal functions
get#: Exported functions
get-clause-info: Internal functions
getset#: Exported macros
getsethash: Exported macros
group: Exported functions

H
hash-set: Exported functions
hash-table-from-alist: Exported functions
hash-table-from-plist: Exported functions
hash-table-keys: Exported functions
hash-table-to-alist: Exported functions
hash-table-to-plist: Exported functions
hash-table-vals: Exported functions
ht->alist: Exported functions
ht->pairs: Exported functions
ht->plist: Exported functions
ht-count: Exported functions
ht-keys: Exported functions
ht-vals: Exported functions

I
if-1st-time: Internal functions
if-bind: Exported macros
if-it: Exported macros
if-let: Exported macros
in: Internal functions
in#: Exported functions
index-add: Internal functions
index-lookup: Internal functions
index?: Internal functions
initially: Internal functions
insert-previous-code: Internal functions
install-clause-info: Internal functions
install-clause-info-1: Internal functions
install-special-clause-function: Internal functions
inter#: Exported functions
interleave: Exported functions
intern-previous-info: Internal functions
internal-variable?: Internal functions
interpose: Exported functions
is-iter-clause?: Internal functions
is-save-var: Internal functions
iter: Exported macros

J
just: Exported functions

K
keep: Exported functions
keep-if: Exported functions
keep-if-not: Exported functions
keys: Exported generic functions
keys: Exported generic functions
keys: Exported generic functions
kvs: Exported generic functions
kvs: Exported generic functions

L
lambda-expression?: Internal functions
lambda-list-vars: Internal functions
last-char: Exported functions
last-elt: Exported functions
last1: Exported functions
leave: Internal functions
length=: Exported functions
less: Exported functions
list-of-forms?: Internal functions
listcase: Exported macros
local-binding-check: Internal functions
lt: Exported functions

M
m1: Exported functions
Macro, ->: Exported macros
Macro, ->>: Exported macros
Macro, 2nd: Exported macros
Macro, =>: Exported macros
Macro, aand: Exported macros
Macro, abbr: Exported macros
Macro, acond: Exported macros
Macro, adding-smart-slot-methods: Internal macros
Macro, adowhile: Exported macros
Macro, aif: Exported macros
Macro, and-bind: Exported macros
Macro, and-it: Exported macros
Macro, and-let: Exported macros
Macro, appendf: Exported macros
Macro, augment: Internal macros
Macro, awhen: Exported macros
Macro, bind: Exported macros
Macro, clause-for-in-package-13: Internal macros
Macro, coercef: Exported macros
Macro, cond-bind: Exported macros
Macro, cond-it: Exported macros
Macro, cond-let: Exported macros
Macro, cswitch: Exported macros
Macro, dcase: Exported macros
Macro, dccase: Exported macros
Macro, decase: Exported macros
Macro, def-special-clause: Internal macros
Macro, defclause: Exported macros
Macro, defclause-driver: Exported macros
Macro, defclause-sequence: Exported macros
Macro, defmacro-clause: Exported macros
Macro, defmacro-driver: Exported macros
Macro, defpar: Exported macros
Macro, defsynonym: Internal macros
Macro, deletef: Exported macros
Macro, doindex: Exported macros
Macro, dokv: Exported macros
Macro, doleaves: Exported macros
Macro, dolines: Exported macros
Macro, doplist: Exported macros
Macro, dotable: Exported macros
Macro, dotree: Exported macros
Macro, dovec: Exported macros
Macro, dowhile-bind: Exported macros
Macro, dowhile-it: Exported macros
Macro, dowhile-let: Exported macros
Macro, ds-bind: Exported macros
Macro, dsetq: Exported macros
Macro, eswitch: Exported macros
Macro, eval-always: Exported macros
Macro, flet*: Exported macros
Macro, fn: Exported macros
Macro, getset#: Exported macros
Macro, getsethash: Exported macros
Macro, if-bind: Exported macros
Macro, if-it: Exported macros
Macro, if-let: Exported macros
Macro, iter: Exported macros
Macro, listcase: Exported macros
Macro, multiple-value-prog2: Exported macros
Macro, mv-bind: Exported macros
Macro, named-lambda: Exported macros
Macro, nconcf: Exported macros
Macro, nreversef: Exported macros
Macro, nunionf: Exported macros
Macro, once-only: Exported macros
Macro, pcase: Exported macros
Macro, pccase: Exported macros
Macro, pecase: Exported macros
Macro, prepend: Internal macros
Macro, re-setf: Exported macros
Macro, removef: Exported macros
Macro, return-driver-code: Internal macros
Macro, return-sequence-code: Internal macros
Macro, reversef: Exported macros
Macro, switch: Exported macros
Macro, trivial-positional-lambda: Internal macros
Macro, unionf: Exported macros
Macro, void: Exported macros
Macro, w/instr: Exported macros
Macro, w/outstr: Exported macros
Macro, w/uniqs: Exported macros
Macro, when-bind: Exported macros
Macro, when-it: Exported macros
Macro, when-let: Exported macros
Macro, with: Exported macros
Macro, with-gensyms: Exported macros
Macro, with-keys: Exported macros
Macro, with-out-file: Exported macros
Macro, with-output-to-list: Exported macros
Macro, with-pair: Exported macros
Macro, with-temporary: Internal macros
Macro, with-unique-names: Exported macros
Macro, xor: Exported macros
make: Exported generic functions
make: Exported generic functions
make: Exported generic functions
make-accum-var-binding: Internal functions
make-accum-var-binding-internal: Internal functions
make-accum-var-default-binding: Internal functions
make-application: Internal functions
make-binding: Internal functions
make-binding-internal: Internal functions
make-clause-info: Internal functions
make-default-binding: Internal functions
make-destructuring-bindings: Internal functions
make-driver-info: Internal functions
make-dsetqs: Internal functions
make-funcall: Internal functions
make-function-name: Internal functions
make-gensym-list: Exported functions
make-initial-value: Internal functions
make-mv-dsetqs: Internal functions
make-next-code: Internal functions
make-pair: Exported functions
make-post-save-var: Internal functions
make-prev-code: Internal functions
make-previous-info: Internal functions
make-save-info: Internal functions
make-save-previous-code: Internal functions
make-save-vars: Internal functions
make-shared-binding: Internal functions
make-var-and-binding: Internal functions
make-var-and-default-binding: Internal functions
map*: Exported functions
mapcanindex: Exported functions
mapcat: Exported functions
mapindex: Exported functions
mapkv: Exported generic functions
mapkv: Exported generic functions
mapkv: Exported generic functions
mapleaves: Exported functions
mappend: Exported functions
maptimes: Exported functions
maptree: Exported functions
merge-hash-tables: Exported functions
merge-hash-tables-with: Exported functions
merge-hts: Exported functions
merge-hts-with: Exported functions
Method, (setf generic-elt-error-key): Exported generic functions
Method, (setf generic-elt-error-obj): Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, ?: Exported generic functions
Method, bind-dispatch: Exported generic functions
Method, bind-dispatch: Exported generic functions
Method, bind-dispatch: Exported generic functions
Method, bind-dispatch: Exported generic functions
Method, case-failure-name: Internal generic functions
Method, case-failure-possibilities: Internal generic functions
Method, copy: Exported generic functions
Method, copy: Exported generic functions
Method, copy: Exported generic functions
Method, copy: Exported generic functions
Method, eq-test: Exported generic functions
Method, eq-test: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt: Exported generic functions
Method, generic-elt-error-key: Exported generic functions
Method, generic-elt-error-obj: Exported generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, generic-setf: Internal generic functions
Method, keys: Exported generic functions
Method, keys: Exported generic functions
Method, kvs: Exported generic functions
Method, make: Exported generic functions
Method, make: Exported generic functions
Method, mapkv: Exported generic functions
Method, mapkv: Exported generic functions
Method, pairs: Exported generic functions
Method, pairs: Exported generic functions
Method, smart-set-slot-value: Internal generic functions
Method, smart-slot-value: Exported generic functions
Method, tally: Exported generic functions
Method, tally: Exported generic functions
Method, vals: Exported generic functions
Method, vals: Exported generic functions
mkeyw: Exported functions
mklist: Exported functions
mksym: Exported functions
more: Exported functions
multiple-value-prog2: Exported macros
mv-bind: Exported macros

N
named-lambda: Exported macros
nconcf: Exported macros
next: Internal functions
next-iteration: Internal functions
not-less: Exported functions
not-more: Exported functions
nreversef: Exported macros
nshuffle: Exported functions
nunionf: Exported macros

O
once-only: Exported macros
or2: Exported functions

P
p#: Exported functions
package-external-symbols: Exported functions
package-internal-symbols: Exported functions
package-symbols: Exported functions
pair: Exported functions
pair-left: Exported functions
pair-right: Internal functions
pairs: Exported generic functions
pairs: Exported generic functions
pairs: Exported generic functions
pairs->ht: Exported functions
partition-with: Exported functions
pcase: Exported macros
pccase: Exported macros
pecase: Exported macros
permutations: Exported functions
plist->ht: Exported functions
plist-to-alist: Exported functions
plistp: Exported functions
prepend: Internal macros
preprocess-clause: Internal functions
previous-info-class: Internal functions
previous-info-code: Internal functions
previous-info-p: Internal functions
previous-info-save-info-list: Internal functions
previous-info-var: Internal functions
print-hash-table: Exported functions
print-ht: Exported functions
process-clause: Internal functions
process-top-level-decls: Internal functions
product: Exported functions
progn-wrap: Internal functions
pushx: Exported functions

Q
quoted?: Internal functions

R
range: Exported functions
re-export-symbols: Exported functions
re-setf: Exported macros
read-file: Exported functions
register-previous-code: Internal functions
rem#: Exported functions
remove-clause: Internal functions
remove-from-plist: Exported functions
remove-idx: Exported functions
remove/swapped-arguments: Internal functions
removef: Exported macros
return-code: Internal functions
return-code-modifying-body: Internal functions
return-collection-code: Internal functions
return-driver-code: Internal macros
return-extremum-code: Internal functions
return-find-extremum-code: Internal functions
return-reduction-code: Internal functions
return-seq-code: Internal functions
return-sequence-code: Internal macros
return-stream-driver-code: Internal functions
reversef: Exported macros
rotate: Exported functions
rotate-head-to-tail: Internal functions
rotate-tail-to-head: Internal functions
rt: Exported functions

S
safe-sort: Exported functions
save-info-iv-ref: Internal functions
save-info-p: Internal functions
save-info-save-var: Internal functions
save-info-save-vars: Internal functions
self-evaluating?: Internal functions
set#: Exported functions
set-equal: Exported functions
Setf Expander, (setf ?): Exported generic functions
Setf Expander, (setf generic-elt): Exported generic functions
Setf Expander, (setf get#): Exported functions
Setf Expander, (setf smart-slot-value): Exported generic functions
sethash: Exported functions
shuffle: Exported functions
single: Exported functions
slice: Exported functions
slurp: Exported functions
smart-set-slot-value: Internal generic functions
smart-set-slot-value: Internal generic functions
smart-slot-value: Exported generic functions
smart-slot-value: Exported generic functions
special-form?: Internal functions
splice-in-code: Internal functions
split: Exported functions
split-clause-template: Internal functions
split-if: Exported functions
split-if-not: Exported functions
split-list-odd-even: Internal functions
split-sequence: Exported functions
split-sequence-if: Exported functions
split-sequence-if-not: Exported functions
split-string: Exported functions
starts-clause?: Internal functions
starts-with: Exported functions
strcat: Exported functions
strjoin: Exported functions
sub: Exported functions
subst-ignore: Internal functions
substr: Exported functions
sum: Exported functions
switch: Exported macros
synonym: Internal functions

T
take: Exported functions
take#: Exported functions
takehash: Exported functions
tally: Exported generic functions
tally: Exported generic functions
tally: Exported generic functions
terminate: Internal functions
the-expression?: Internal functions
toggle-print-hash-table: Exported functions
top-level-check: Internal functions
tree-depth: Exported functions
tree-size: Exported functions
trivial-positional-lambda: Internal macros
true: Exported functions
tryadic: Exported functions

U
union#: Exported functions
unionf: Exported macros

V
vals: Exported generic functions
vals: Exported generic functions
vals: Exported generic functions
var-binding?: Internal functions
var-declaration: Internal functions
var-spec?: Internal functions
var-type: Internal functions
var-value-returned: Internal functions
vec: Exported functions
void: Exported macros

W
w/instr: Exported macros
w/outstr: Exported macros
w/uniqs: Exported macros
walk: Internal functions
walk-arglist: Internal functions
walk-cddr: Internal functions
walk-cddr-with-declarations: Internal functions
walk-cdr: Internal functions
walk-cdr-with-declarations: Internal functions
walk-declare: Internal functions
walk-expr: Internal functions
walk-flet: Internal functions
walk-fspec: Internal functions
walk-function: Internal functions
walk-let: Internal functions
walk-let*-bindings: Internal functions
walk-let-binding: Internal functions
walk-let-bindings: Internal functions
walk-list: Internal functions
walk-list-nconcing: Internal functions
walk-macrolet: Internal functions
walk-multiple-value-bind: Internal functions
walk-progn: Internal functions
walk-setq: Internal functions
walk-special-form: Internal functions
when-bind: Exported macros
when-it: Exported macros
when-let: Exported macros
white-char-p: Exported functions
with: Exported macros
with-gensyms: Exported macros
with-keys: Exported macros
with-out-file: Exported macros
with-output-to-list: Exported macros
with-pair: Exported macros
with-temporary: Internal macros
with-unique-names: Exported macros
wrap-form: Internal functions

X
xor: Exported macros
xor#: Exported functions
xor2: Exported functions

Z
zip: Exported functions
zip*: Exported functions
zip*-with: Exported functions
zip-with: Exported functions

Jump to:   #   (   -   2   =   ?   @   ^  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Z  

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

A.3 Variables

Jump to:   *   +  
C   D   F   G   I   K   N   O   P   R   S   U   V  
Index Entry  Section

*
*accum-var-alist*: Internal special variables
*all-packages*: Internal special variables
*always-declare-variables*: Internal special variables
*bind-ignores*: Internal special variables
*bindings*: Internal special variables
*block-name*: Internal special variables
*clause*: Internal special variables
*clause-info-index*: Internal special variables
*declaration-context?*: Internal special variables
*declarations*: Internal special variables
*declare-variables*: Internal special variables
*decls*: Internal special variables
*driver-info-alist*: Internal special variables
*env*: Internal special variables
*final*: Internal special variables
*finalp*: Internal special variables
*genvar-counter*: Internal special variables
*initial*: Internal special variables
*internal-variables*: Internal special variables
*list-end-test*: Internal special variables
*loop-body-wrappers*: Internal special variables
*loop-end*: Internal special variables
*loop-end-used?*: Internal special variables
*loop-step*: Internal special variables
*loop-step-used?*: Internal special variables
*loop-top*: Internal special variables
*previous-vars-alist*: Internal special variables
*result-var*: Internal special variables
*shared-bindings-alist*: Internal special variables
*special-clause-alist*: Internal special variables
*special-form-alist*: Internal special variables
*step*: Internal special variables
*temps*: Internal special variables
*temps-in-use*: Internal special variables
*top-level?*: Internal special variables
*type-alist*: Internal special variables

+
+default-opts+: Exported special variables
+fill-col+: Internal special variables
+sequence-keyword-list+: Internal special variables
+standard-type-symbols+: Internal special variables

C
class: Internal structures
code: Internal structures

D
doc-string: Internal structures

F
function: Internal structures

G
generator?: Internal structures
generator?: Internal structures

I
iter-version: Exported special variables
iv-ref: Internal structures

K
key: Exported conditions
keywords: Internal structures

N
name: Exported conditions
next-code: Internal structures

O
obj: Exported conditions

P
possibilities: Exported conditions

R
req-keywords: Internal structures

S
save-info-list: Internal structures
save-var: Internal structures
save-vars: Internal structures
Slot, class: Internal structures
Slot, code: Internal structures
Slot, doc-string: Internal structures
Slot, function: Internal structures
Slot, generator?: Internal structures
Slot, generator?: Internal structures
Slot, iv-ref: Internal structures
Slot, key: Exported conditions
Slot, keywords: Internal structures
Slot, name: Exported conditions
Slot, next-code: Internal structures
Slot, obj: Exported conditions
Slot, possibilities: Exported conditions
Slot, req-keywords: Internal structures
Slot, save-info-list: Internal structures
Slot, save-var: Internal structures
Slot, save-vars: Internal structures
Slot, used: Internal structures
Slot, var: Internal structures
Special Variable, *accum-var-alist*: Internal special variables
Special Variable, *all-packages*: Internal special variables
Special Variable, *always-declare-variables*: Internal special variables
Special Variable, *bind-ignores*: Internal special variables
Special Variable, *bindings*: Internal special variables
Special Variable, *block-name*: Internal special variables
Special Variable, *clause*: Internal special variables
Special Variable, *clause-info-index*: Internal special variables
Special Variable, *declaration-context?*: Internal special variables
Special Variable, *declarations*: Internal special variables
Special Variable, *declare-variables*: Internal special variables
Special Variable, *decls*: Internal special variables
Special Variable, *driver-info-alist*: Internal special variables
Special Variable, *env*: Internal special variables
Special Variable, *final*: Internal special variables
Special Variable, *finalp*: Internal special variables
Special Variable, *genvar-counter*: Internal special variables
Special Variable, *initial*: Internal special variables
Special Variable, *internal-variables*: Internal special variables
Special Variable, *list-end-test*: Internal special variables
Special Variable, *loop-body-wrappers*: Internal special variables
Special Variable, *loop-end*: Internal special variables
Special Variable, *loop-end-used?*: Internal special variables
Special Variable, *loop-step*: Internal special variables
Special Variable, *loop-step-used?*: Internal special variables
Special Variable, *loop-top*: Internal special variables
Special Variable, *previous-vars-alist*: Internal special variables
Special Variable, *result-var*: Internal special variables
Special Variable, *shared-bindings-alist*: Internal special variables
Special Variable, *special-clause-alist*: Internal special variables
Special Variable, *special-form-alist*: Internal special variables
Special Variable, *step*: Internal special variables
Special Variable, *temps*: Internal special variables
Special Variable, *temps-in-use*: Internal special variables
Special Variable, *top-level?*: Internal special variables
Special Variable, *type-alist*: Internal special variables
Special Variable, +default-opts+: Exported special variables
Special Variable, +fill-col+: Internal special variables
Special Variable, +sequence-keyword-list+: Internal special variables
Special Variable, +standard-type-symbols+: Internal special variables
Special Variable, iter-version: Exported special variables

U
used: Internal structures

V
var: Internal structures

Jump to:   *   +  
C   D   F   G   I   K   N   O   P   R   S   U   V  

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

A.4 Data types

Jump to:   A   C   D   G   P   R   S   T  
Index Entry  Section

A
array-index: Exported types
array-length: Exported types

C
case-failure: Exported conditions
clause-info: Internal structures
Condition, case-failure: Exported conditions
Condition, generic-elt-error: Exported conditions
Condition, rutils-style-warning: Exported conditions

D
driver-info: Internal structures

G
generic-elt-error: Exported conditions

P
Package, rtl: The rtl package
Package, rtl-user: The rtl-user package
Package, rutils: The rutils package
Package, rutils-user: The rutils-user package
Package, rutils.abbr: The rutils․abbr package
Package, rutils.anaphora: The rutils․anaphora package
Package, rutils.array: The rutils․array package
Package, rutils.bind: The rutils․bind package
Package, rutils.generic: The rutils․generic package
Package, rutils.hash-set: The rutils․hash-set package
Package, rutils.hash-table: The rutils․hash-table package
Package, rutils.iter: The rutils․iter package
Package, rutils.kv: The rutils․kv package
Package, rutils.list: The rutils․list package
Package, rutils.misc: The rutils․misc package
Package, rutils.pair: The rutils․pair package
Package, rutils.readtable: The rutils․readtable package
Package, rutils.sequence: The rutils․sequence package
Package, rutils.string: The rutils․string package
Package, rutils.symbol: The rutils․symbol package
Package, rutils.tree: The rutils․tree package
previous-info: Internal structures

R
rtl: The rtl package
rtl-user: The rtl-user package
rutils: The rutils system
rutils: The rutils package
rutils-style-warning: Exported conditions
rutils-user: The rutils-user package
rutils.abbr: The rutils․abbr package
rutils.anaphora: The rutils․anaphora package
rutils.array: The rutils․array package
rutils.bind: The rutils․bind package
rutils.generic: The rutils․generic package
rutils.hash-set: The rutils․hash-set package
rutils.hash-table: The rutils․hash-table package
rutils.iter: The rutils․iter package
rutils.kv: The rutils․kv package
rutils.list: The rutils․list package
rutils.misc: The rutils․misc package
rutils.pair: The rutils․pair package
rutils.readtable: The rutils․readtable package
rutils.sequence: The rutils․sequence package
rutils.string: The rutils․string package
rutils.symbol: The rutils․symbol package
rutils.tree: The rutils․tree package

S
save-info: Internal structures
string-designator: Exported types
Structure, clause-info: Internal structures
Structure, driver-info: Internal structures
Structure, previous-info: Internal structures
Structure, save-info: Internal structures
System, rutils: The rutils system

T
Type, array-index: Exported types
Type, array-length: Exported types
Type, string-designator: Exported types

Jump to:   A   C   D   G   P   R   S   T