The lambda-fiddle Reference Manual

This is the lambda-fiddle Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:51:52 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 lambda-fiddle

A collection of functions to process lambda-lists.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shinmera.github.io/lambda-fiddle/

Source Control

(GIT https://github.com/Shinmera/lambda-fiddle.git)

Bug Tracker

https://github.com/Shinmera/lambda-fiddle/issues

License

zlib

Version

1.0.0

Source

lambda-fiddle.asd.

Child Component

lambda-fiddle.lisp (file).


3 Files

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


3.1 Lisp


3.1.1 lambda-fiddle/lambda-fiddle.asd

Source

lambda-fiddle.asd.

Parent Component

lambda-fiddle (system).

ASDF Systems

lambda-fiddle.


3.1.2 lambda-fiddle/lambda-fiddle.lisp

Source

lambda-fiddle.asd.

Parent Component

lambda-fiddle (system).

Packages

lambda-fiddle.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 lambda-fiddle

Source

lambda-fiddle.lisp.

Nickname

org.shirakumo.lambda-fiddle

Use List

common-lisp.

Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *lambda-keywords*

List of all standard lambda-keywords.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Special Variable: *single-argument-keywords*

List of all standard lambda-keywords that only allow one argument.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.


5.1.2 Macros

Macro: with-destructured-lambda-list ((&rest parts &key whole environment required optional rest body key aux &allow-other-keys) expression &body forms)

Destructures the given EXPRESSION into its lambda-list parts.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.


5.1.3 Ordinary functions

Function: aux-lambda-vars (lambda-list)

Returns all auxiliary variables of the ordinary-lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: body-lambda-var (lambda-list)

Returns the body variable of the ordinary-lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: collect-for-keyword (keyword lambda-list &key spanning)

Returns a fresh list of elements listed after the KEYWORD in the lambda-list.
If SPANNING is T, it includes everything up until the next keyword, otherwise only one token each.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: construct-lambda-list (&key whole environment required optional rest body key allow-other-keys aux)

Construct a lambda-list out of the given parts.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: environment-lambda-var (lambda-list)

Returns the environment variable of the lambda-list

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: exclude-for-keyword (keyword lambda-list &key spanning)

Returns a fresh lambda-list but without the parts identified by KEYWORD.
If SPANNING is T, it excludes everything up until the next keyword, otherwise only one token each.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: extract-all-lambda-vars (lambda-list)

Extracts all variable bindings from the lambda-list, including the present-p ones.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: extract-lambda-vars (lambda-list)

Extracts the symbols that name the variables in the lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: flatten-lambda-list (lambda-list)

Flattens the lambda-list by replacing all lists within it with their respective first symbol. This also properly flattens inner lambda-lists of macro-lambda-lists.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: flatten-method-lambda-list (lambda-list)

Flattens the lambda-list by replacing all lists within it with their respective first symbol. Unlike FLATTEN-LAMBDA-LIST, this works for method lambda lists.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: key-lambda-vars (lambda-list)

Returns all keyword variables of the ordinary-lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: lambda-keyword-p (symbol)

Returns the symbol if it is a lambda-keyword symbol (the &-options).

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: optional-lambda-vars (lambda-list)

Returns all optional variables of the ordinary-lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-aux-part (lambda-list)

Returns a fresh lambda-list without the &aux part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-body-part (lambda-list)

Returns a fresh lambda-list without the &body part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-environment-part (lambda-list)

Returns a fresh lambda-list without the &environment part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-key-part (lambda-list)

Returns a fresh lambda-list without the &key part (also removing &allow-other-keys if present).

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-optional-part (lambda-list)

Returns a fresh lambda-list without the &optional part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-required-part (lambda-list)

Returns a fresh lambda-list without the required variables part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-rest-part (lambda-list)

Returns a fresh lambda-list without the &rest part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: remove-whole-part (lambda-list)

Returns a fresh lambda-list without the &whole part.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: required-lambda-vars (lambda-list)

Returns all required variables of the ordinary-lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: rest-lambda-var (lambda-list)

Returns the rest variable of the ordinary-lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: single-argument-keyword-p (symbol)

Returns the symbol if it is a single-argument-keyword symbol.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: split-lambda-list (lambda-list)

Splits the lambda-list into its individual definition parts. Returns a list of values as follows: ((REQUIRED*) WHOLE ENVIRONMENT (OPTIONAL*) REST BODY (KEY*) (AUX*))

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: whole-lambda-var (lambda-list)

Returns the &whole variable of the lambda-list.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.


5.2 Internals


5.2.1 Ordinary functions

Function: flatten! (list)

Destructively flatten the list one level.

Package

lambda-fiddle.

Source

lambda-fiddle.lisp.

Function: unlist (thing &optional n)
Package

lambda-fiddle.

Source

lambda-fiddle.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   A   B   C   E   F   K   L   M   O   R   S   U   W  
Index Entry  Section

A
aux-lambda-vars: Public ordinary functions

B
body-lambda-var: Public ordinary functions

C
collect-for-keyword: Public ordinary functions
construct-lambda-list: Public ordinary functions

E
environment-lambda-var: Public ordinary functions
exclude-for-keyword: Public ordinary functions
extract-all-lambda-vars: Public ordinary functions
extract-lambda-vars: Public ordinary functions

F
flatten!: Private ordinary functions
flatten-lambda-list: Public ordinary functions
flatten-method-lambda-list: Public ordinary functions
Function, aux-lambda-vars: Public ordinary functions
Function, body-lambda-var: Public ordinary functions
Function, collect-for-keyword: Public ordinary functions
Function, construct-lambda-list: Public ordinary functions
Function, environment-lambda-var: Public ordinary functions
Function, exclude-for-keyword: Public ordinary functions
Function, extract-all-lambda-vars: Public ordinary functions
Function, extract-lambda-vars: Public ordinary functions
Function, flatten!: Private ordinary functions
Function, flatten-lambda-list: Public ordinary functions
Function, flatten-method-lambda-list: Public ordinary functions
Function, key-lambda-vars: Public ordinary functions
Function, lambda-keyword-p: Public ordinary functions
Function, optional-lambda-vars: Public ordinary functions
Function, remove-aux-part: Public ordinary functions
Function, remove-body-part: Public ordinary functions
Function, remove-environment-part: Public ordinary functions
Function, remove-key-part: Public ordinary functions
Function, remove-optional-part: Public ordinary functions
Function, remove-required-part: Public ordinary functions
Function, remove-rest-part: Public ordinary functions
Function, remove-whole-part: Public ordinary functions
Function, required-lambda-vars: Public ordinary functions
Function, rest-lambda-var: Public ordinary functions
Function, single-argument-keyword-p: Public ordinary functions
Function, split-lambda-list: Public ordinary functions
Function, unlist: Private ordinary functions
Function, whole-lambda-var: Public ordinary functions

K
key-lambda-vars: Public ordinary functions

L
lambda-keyword-p: Public ordinary functions

M
Macro, with-destructured-lambda-list: Public macros

O
optional-lambda-vars: Public ordinary functions

R
remove-aux-part: Public ordinary functions
remove-body-part: Public ordinary functions
remove-environment-part: Public ordinary functions
remove-key-part: Public ordinary functions
remove-optional-part: Public ordinary functions
remove-required-part: Public ordinary functions
remove-rest-part: Public ordinary functions
remove-whole-part: Public ordinary functions
required-lambda-vars: Public ordinary functions
rest-lambda-var: Public ordinary functions

S
single-argument-keyword-p: Public ordinary functions
split-lambda-list: Public ordinary functions

U
unlist: Private ordinary functions

W
whole-lambda-var: Public ordinary functions
with-destructured-lambda-list: Public macros