This is the sandalphon.lambda-list Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:38:44 2024 GMT+0.
sandalphon.lambda-list/sandalphon.lambda-list.asd
sandalphon.lambda-list/package.lisp
sandalphon.lambda-list/classes.lisp
sandalphon.lambda-list/parse.lisp
sandalphon.lambda-list/standard-grammars.lisp
sandalphon.lambda-list/binds.lisp
sandalphon.lambda-list/unparse.lisp
The main system appears first, followed by any subsystem dependency.
sandalphon.lambda-list
Lambda list parsing and usage
Bike <aeshtaer@gmail.com>
WTFPL
0.1
package.lisp
(file).
classes.lisp
(file).
parse.lisp
(file).
standard-grammars.lisp
(file).
binds.lisp
(file).
unparse.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
sandalphon.lambda-list/sandalphon.lambda-list.asd
sandalphon.lambda-list/package.lisp
sandalphon.lambda-list/classes.lisp
sandalphon.lambda-list/parse.lisp
sandalphon.lambda-list/standard-grammars.lisp
sandalphon.lambda-list/binds.lisp
sandalphon.lambda-list/unparse.lisp
sandalphon.lambda-list/sandalphon.lambda-list.asd
sandalphon.lambda-list
(system).
sandalphon.lambda-list/package.lisp
sandalphon.lambda-list
(system).
sandalphon.lambda-list/classes.lisp
package.lisp
(file).
sandalphon.lambda-list
(system).
aux-clause
(class).
clause
(class).
clause-default-default
(reader method).
(setf clause-default-default)
(writer method).
clause-keywords
(reader method).
(setf clause-keywords)
(writer method).
clause-safe
(reader method).
(setf clause-safe)
(writer method).
clause-spec
(reader method).
(setf clause-spec)
(writer method).
defaulting-clause
(class).
destructuring-clause
(class).
destructuring-clause-grammar
(reader method).
(setf destructuring-clause-grammar)
(writer method).
destructuring-key-clause
(class).
destructuring-optional-clause
(class).
destructuring-regular-clause
(class).
environment-clause
(class).
key-clause
(class).
key-clause-aok-p
(reader method).
key-clause-aok-p
(reader method).
(setf key-clause-aok-p)
(writer method).
(setf key-clause-aok-p)
(writer method).
lambda-list
(class).
lambda-list-clauses
(reader method).
(setf lambda-list-clauses)
(writer method).
lambda-list-keywords
(generic function).
lambda-list-safe
(reader method).
(setf lambda-list-safe)
(writer method).
multiple-clause
(class).
multiple-clause-specs
(reader method).
(setf multiple-clause-specs)
(writer method).
optional-clause
(class).
regular-clause
(class).
rest-clause
(class).
singleton-clause
(class).
specialized-regular-clause
(class).
whole-clause
(class).
whole-map
(reader method).
(setf whole-map)
(writer method).
sandalphon.lambda-list/parse.lisp
classes.lisp
(file).
package.lisp
(file).
sandalphon.lambda-list
(system).
%parse-lambda-list
(function).
clause-parse
(generic function).
grammar-clean-keywords
(function).
make-grammar
(function).
make-key
(function).
multiple-clause-parse
(generic function).
parse-destructure
(function).
parse-lambda-list
(function).
sandalphon.lambda-list/standard-grammars.lisp
package.lisp
(file).
sandalphon.lambda-list
(system).
*compiler-macro-lambda-list*
(special variable).
*define-method-combination-lambda-list*
(special variable).
*define-modify-macro-lambda-list*
(special variable).
*defsetf-lambda-list*
(special variable).
*deftype-lambda-list*
(special variable).
*destructuring-deftype-lambda-list*
(special variable).
*destructuring-lambda-list*
(special variable).
*macro-lambda-list*
(special variable).
*ordinary-lambda-list*
(special variable).
*specialized-lambda-list*
(special variable).
compiler-macro-arguments
(function).
sandalphon.lambda-list/binds.lisp
classes.lisp
(file).
package.lisp
(file).
sandalphon.lambda-list
(system).
clause-binds
(generic function).
generate-bindings
(function).
generate-let*
(function).
key-binds
(function).
multiple-clause-binds
(generic function).
optional-binds
(function).
regular-binds
(function).
sandalphon.lambda-list/unparse.lisp
classes.lisp
(file).
package.lisp
(file).
sandalphon.lambda-list
(system).
print-object
(method).
clause-unparse
(generic function).
lambda-list-unparse
(generic function).
maybe-unparse
(function).
multiple-clause-unparse-spec
(generic function).
Packages are listed by definition order.
sandalphon.lambda-list
common-lisp
.
%parse-lambda-list
(function).
*compiler-macro-lambda-list*
(special variable).
*define-method-combination-lambda-list*
(special variable).
*define-modify-macro-lambda-list*
(special variable).
*defsetf-lambda-list*
(special variable).
*deftype-lambda-list*
(special variable).
*destructuring-deftype-lambda-list*
(special variable).
*destructuring-lambda-list*
(special variable).
*macro-lambda-list*
(special variable).
*ordinary-lambda-list*
(special variable).
*specialized-lambda-list*
(special variable).
aux-clause
(class).
clause
(class).
clause-binds
(generic function).
clause-default-default
(generic reader).
(setf clause-default-default)
(generic writer).
clause-keywords
(generic reader).
(setf clause-keywords)
(generic writer).
clause-parse
(generic function).
clause-safe
(generic reader).
(setf clause-safe)
(generic writer).
clause-spec
(generic reader).
(setf clause-spec)
(generic writer).
clause-unparse
(generic function).
compiler-macro-arguments
(function).
defaulting-clause
(class).
destructuring-clause
(class).
destructuring-clause-grammar
(generic reader).
(setf destructuring-clause-grammar)
(generic writer).
destructuring-key-clause
(class).
destructuring-optional-clause
(class).
destructuring-regular-clause
(class).
environment-clause
(class).
generate-bindings
(function).
generate-let*
(function).
grammar-clean-keywords
(function).
key-binds
(function).
key-clause
(class).
key-clause-aok-p
(generic reader).
(setf key-clause-aok-p)
(generic writer).
lambda-list
(class).
lambda-list-clauses
(generic reader).
(setf lambda-list-clauses)
(generic writer).
lambda-list-keywords
(generic function).
lambda-list-safe
(generic reader).
(setf lambda-list-safe)
(generic writer).
lambda-list-unparse
(generic function).
make-grammar
(function).
make-key
(function).
maybe-unparse
(function).
multiple-clause
(class).
multiple-clause-binds
(generic function).
multiple-clause-parse
(generic function).
multiple-clause-specs
(generic reader).
(setf multiple-clause-specs)
(generic writer).
multiple-clause-unparse-spec
(generic function).
optional-binds
(function).
optional-clause
(class).
parse-destructure
(function).
parse-lambda-list
(function).
regular-binds
(function).
regular-clause
(class).
rest-clause
(class).
singleton-clause
(class).
specialized-regular-clause
(class).
whole-clause
(class).
whole-map
(generic reader).
(setf whole-map)
(generic writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Takes a plist of key/values, cleans out grammar specials, and returns something that should be fine for MAKE-INSTANCE and friends. Specials are presently :DATA-DESTRUCTURE, :ANYWHERE.
Takes a grammar specification and makes it into a fresh "grammar", which is an internal thing passed to %parse-lambda-list that is full of clauses subject to side effects. MORE-KEYS is a plist of initialization arguments to all clauses.
For &key parsing.
Helper function for destructuring parameters. Given a clause to take initargs from, something that’s maybe a lambda list, and the name of a grammar, parses.
Given a lambda list, initargs for it, and a grammar specification, returns a LAMBDA-LIST object.
A grammar specification is a list of clause specifications. A clause specification is either a class specifier, or a list (class-specifier &key).
The grammar specification is simply based on clauses earlier in the list having to occur before clauses later in the list. All clauses are considered optional.
The keys and values in the list are passed unevaluated to MAKE-INSTANCE.
Certain keys have special meanings to the grammar itself. These are removed before they can be passed to MAKE-INSTANCE. They are as follows:
* :DATA-DESTRUCTURE indicates that a dotted list indicates this kind of clause. E.g., in parsing (foo bar . baz), if there was a &rest clause in the grammar with :DATA-DESTRUCTURE, the result would be the same as from (foo bar &rest baz).
* :ANYWHERE indicates that the position of this clause in the grammar is unimportant, and that this clause can be anywhere in the lambda list, except, for bad reasons, before the first clause. This is used for &environment clauses, which cannot be before &whole.
The keys are arguments to the lambda-list and clause creation that are not part of the grammar. Presently the only one is SAFE, controlling whether extra code is inserted to ensure conforming code and more helpful error messages.
EXAMPLE: A lambda-list like an ordinary lambda-list but with keys having :no-value as a default if no default is explicitly given would have the grammar specification (REGULAR-CLAUSE OPTIONAL-CLAUSE REST-CLAUSE (KEY-CLAUSE :DEFAULT-DEFAULT :NO-VALUE) AUX-CLAUSE).
rest-clause
) forms) ¶key-clause
) forms) ¶multiple-clause
) forms) ¶environment-clause
) forms) ¶whole-clause
) forms) ¶defaulting-clause
)) ¶automatically generated reader method
defaulting-clause
)) ¶automatically generated writer method
Parse an entire clause. Side-effect the results into CLAUSE, and return a list with the clause consumed. For example, given (&whole foo bar baz), the &whole clause parser would return (bar baz).
aux-clause
) list llist) ¶destructuring-key-clause
) list llist) ¶key-clause
) list llist) ¶destructuring-optional-clause
) list llist) ¶optional-clause
) list llist) ¶multiple-clause
) list llist) ¶singleton-clause
) list llist) ¶singleton-clause
)) ¶automatically generated reader method
spec
.
singleton-clause
)) ¶automatically generated writer method
spec
.
key-clause
)) ¶multiple-clause
)) ¶singleton-clause
)) ¶destructuring-clause
)) ¶automatically generated reader method
destructuring-clause
)) ¶automatically generated writer method
destructuring-key-clause
)) ¶automatically generated reader method
key-clause
)) ¶automatically generated reader method
destructuring-key-clause
)) ¶automatically generated writer method
key-clause
)) ¶automatically generated writer method
lambda-list
)) ¶automatically generated reader method
lambda-list
)) ¶automatically generated writer method
lambda-list
)) ¶lambda-list
)) ¶automatically generated reader method
lambda-list
)) ¶automatically generated writer method
lambda-list
)) ¶aux-clause
) spec forms) ¶destructuring-key-clause
) spec forms) ¶key-clause
) spec forms) ¶destructuring-optional-clause
) spec forms) ¶optional-clause
) spec forms) ¶destructuring-regular-clause
) spec forms) ¶specialized-regular-clause
) spec forms) ¶regular-clause
) spec forms) ¶Parse an individual specifier for a multiple-clause. The return format is particular to what the particular clause class expects.
aux-clause
) spec llist) ¶destructuring-key-clause
) spec llist) ¶key-clause
) spec llist) ¶destructuring-optional-clause
) spec llist) ¶optional-clause
) spec llist) ¶destructuring-regular-clause
) spec llist) ¶specialized-regular-clause
) spec llist) ¶regular-clause
) spec llist) ¶multiple-clause
)) ¶automatically generated reader method
multiple-clause
)) ¶automatically generated writer method
destructuring-key-clause
) spec) ¶destructuring-optional-clause
) spec) ¶destructuring-regular-clause
) spec) ¶aux-clause
) spec) ¶key-clause
) spec) ¶optional-clause
) spec) ¶specialized-regular-clause
) spec) ¶regular-clause
) spec) ¶whole-clause
)) ¶automatically generated reader method
map
.
whole-clause
)) ¶automatically generated writer method
map
.
(quote (&aux))
:default-default
:destructure
(quote (&optional))
(quote (nil))
(quote (&environment))
A clause that contains multiple specifiers, which are treated identically (by MULTIPLE-CLAUSE-BINDS), and which are bound left-to-right.
:specs
(quote (&optional))
(quote (nil))
(quote (&rest))
A clause that only contains one parameter, a symbol.
:spec
(quote (nil))
Jump to: | %
(
C D F G K L M O P R W |
---|
Jump to: | %
(
C D F G K L M O P R W |
---|
Jump to: | *
A C D G K M S |
---|
Jump to: | *
A C D G K M S |
---|
Jump to: | A B C D E F K L M O P R S U W |
---|
Jump to: | A B C D E F K L M O P R S U W |
---|