This is the let-plus Reference Manual, version 0.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:36:10 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
let-plus
Destructuring extension of LET*.
Sharp Lispers <sharplispers@googlegroups.com>
Tamas K. Papp <tkpapp@gmail.com>
Boost Software License - Version 1.0
0.2
alexandria
(system).
anaphora
(system).
package.lisp
(file).
let-plus.lisp
(file).
extensions.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
let-plus/let-plus.lisp
package.lisp
(file).
let-plus
(system).
&accessors
(macro).
&accessors-r/o
(macro).
&array-elements
(macro).
&array-elements-r/o
(macro).
&flet
(macro).
&hash-table
(macro).
&hash-table-r/o
(macro).
&labels
(macro).
¯olet
(macro).
&plist
(macro).
&plist-r/o
(macro).
&slots
(macro).
&slots-r/o
(macro).
&structure
(macro).
&structure-r/o
(macro).
&symbol-macrolet
(macro).
&values
(macro).
define-let+-expansion
(macro).
let+
(macro).
let+-expansion
(generic function).
let+-expansion-for-list
(generic function).
&-symbol?
(function).
expand-array-elements
(function).
expand-entry-forms
(function).
expand-slot-forms
(function).
ignored?
(function).
mergable-labels
(macro).
replace-ignored
(function).
let-plus/extensions.lisp
let-plus.lisp
(file).
let-plus
(system).
&complex
(macro).
&flet+
(macro).
&fwrap
(macro).
&labels+
(macro).
&once-only
(macro).
&with-gensyms
(macro).
define-structure-let+
(macro).
defun+
(macro).
lambda+
(macro).
let+-expansion-for-list
(method).
let+-expansion-for-list
(method).
let+-expansion-for-list
(method).
let+-expansion-for-list
(method).
let+-expansion-for-list
(method).
let+-expansion-for-list
(method).
destructured-lambda-list-forms
(function).
Packages are listed by definition order.
let-plus
alexandria
.
anaphora
.
common-lisp
.
&accessors
(macro).
&accessors-r/o
(macro).
&array-elements
(macro).
&array-elements-r/o
(macro).
&complex
(macro).
&flet
(macro).
&flet+
(macro).
&fwrap
(macro).
&hash-table
(macro).
&hash-table-r/o
(macro).
&labels
(macro).
&labels+
(macro).
¯olet
(macro).
&once-only
(macro).
&plist
(macro).
&plist-r/o
(macro).
&slots
(macro).
&slots-r/o
(macro).
&structure
(macro).
&structure-r/o
(macro).
&symbol-macrolet
(macro).
&values
(macro).
&with-gensyms
(macro).
define-let+-expansion
(macro).
define-structure-let+
(macro).
defun+
(macro).
lambda+
(macro).
let+
(macro).
let+-expansion
(generic function).
let+-expansion-for-list
(generic function).
&-symbol?
(function).
destructured-lambda-list-forms
(function).
expand-array-elements
(function).
expand-entry-forms
(function).
expand-slot-forms
(function).
ignored?
(function).
mergable-labels
(macro).
replace-ignored
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
LET+ form, similar to WITH-ACCESSORS.
LET+ form, similar to WITH-ACCESSORS, but read-only.
LET+ form, mapping (variable &rest subscripts) specifications to array-elements. VARIABLE is an accessor, which can be used for reading and writing array elements.
LET+ form, mapping (variable &rest subscripts) specifications to array-elements. Read-only accessor, values assigned to VARIABLEs.
Access real and imaginary part of the value. Read-only.
LET+ form for function definitions. Expands into an FLET.
&FLET that destructures its arguments using LET+.
Wrap closure in the local function NAME. Calls to NAME will call the closure.
LET+ form for hash tables. Each entry is (variable &optional key default).
LET+ form for hash tables. Each entry is (variable &optional key default). Read only version.
LET+ form for function definitions. Expands into an LABELS, thus allowing recursive functions.
&LABELS that destructures its arguments using LET+.
LET+ form for local macro definitions. Expands into an MACROLET.
Expand to (ONCE-ONLY SPECS ...).
LET+ form for property lists. Each entry is (variable &optional key default).
LET+ form for property lists, read only version. Each entry is (variable &optional key default).
LET+ form, similar to WITH-SLOTS.
LET+ form, similar to WITH-SLOTS but read-only.
LET+ form for slots of a structure, with accessors generated using CONC-NAME.
LET+ form for slots of a structure, with accessors generated using CONC-NAME. Read-only version.
LET+ form for local symbol macros. Expands into a SYMBOL-MACROLET.
LET+ form for multiple values.
Expand to (WITH-GENSYMS NAMES ...).
Define an expansion for LET+ forms which are lists, starting with NAME. ARGUMENTS is destructured if a list. A placeholder macro is defined with NAME, using DOCSTRING and ARGUMENTS. The value form is bound to VALUE-VAR (wrapped in ONCE-ONLY when ONCE-ONLY?), while the body is bound to BODY-VAR. USES-VALUE? determines if the form uses a value, and generates the appropriate checks.
Define a LET+ expansion for accessing slots of a structure in a fixed order.
DEFUN that destructures its arguments using LET+.
LAMBDA that destructures its arguments using LET+.
Destructuring bindings. See the documentation of the LET-PLUS library. Most accepted forms start with &.
Return an expansion for a LET+ form.
array
) value body) ¶LET+ expansion for mapping array elements to variables.
null
) value body) ¶symbol
) value body) ¶list
) value body) ¶LET+-EXPANSION calls this for lists, see the latter for semantics of returned values.
(eql let-plus:&complex)
) arguments0 value body) ¶(eql let-plus:&with-gensyms)
) arguments0 value body) ¶(eql let-plus:&once-only)
) arguments0 value body) ¶(eql let-plus:&fwrap)
) arguments0 value body) ¶(eql let-plus:&labels+)
) arguments0 value body) ¶(eql let-plus:&flet+)
) arguments0 value body) ¶(eql let-plus:&hash-table-r/o)
) arguments0 value body) ¶(eql let-plus:&hash-table)
) arguments0 value body) ¶(eql let-plus:&plist-r/o)
) arguments0 value body) ¶(eql let-plus:&plist)
) arguments0 value body) ¶(eql let-plus:&symbol-macrolet)
) arguments0 value body) ¶(eql let-plus:¯olet)
) arguments0 value body) ¶(eql let-plus:&labels)
) arguments0 value body) ¶(eql let-plus:&flet)
) arguments0 value body) ¶(eql let-plus:&array-elements-r/o)
) arguments0 value body) ¶(eql let-plus:&array-elements)
) arguments0 value body) ¶(eql let-plus:&values)
) arguments0 value body) ¶(eql let-plus:&structure-r/o)
) arguments0 value body) ¶(eql let-plus:&structure)
) arguments0 value body) ¶(eql let-plus:&slots-r/o)
) arguments0 value body) ¶(eql let-plus:&slots)
) arguments0 value body) ¶(eql let-plus:&accessors-r/o)
) arguments0 value body) ¶(eql let-plus:&accessors)
) arguments0 value body) ¶Test whether the symbol’s name starts with a & character.
Return a list that can be spliced into function definitions (eg DEFUN, LAMBDA, FLET, LABELS).
The list starts with a lambda list, and is followed by a docstring (when provided), then a LET+ form that wraps declarations (when provided) and BODY.
Used internally, not exported.
Expand a list of (BINDING &REST SUBSCRIPTS) forms to a list of bindings of the form (ACCESSOR VALUE SUBSCRIPTS).
Return a list of expanded bindings from ENTRIES, calling (ACESSOR-GENERATOR KEY DEFAULT). Each entry is (VARIABLE &OPTIONAL KEY DEFAULT). When KEY is NIL, VARIABLE is used.
Return a list of expanded bindings, calling (ACCESSOR-GENERATOR KEY)
Return a boolean determining if a variable is to be ignored.
NOTE: It is unlikely that you need to used this function, see the note above its definition.
Replace ignored variables in TREE with a gensym, return a list of these as the second value.
NOTE: It is unlikely that you need to used this function, see the note above its definition.
Jump to: | &
D E F G I L M R |
---|
Jump to: | &
D E F G I L M R |
---|
Jump to: | E F L P S |
---|
Jump to: | E F L P S |
---|