The let-over-lambda Reference Manual

Table of Contents

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

The let-over-lambda Reference Manual

This is the let-over-lambda Reference Manual, version 1.0.1, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:07:39 2018 GMT+0.


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

1 Introduction

LET-OVER-LAMBDA

Build Status Build Status Coverage Status Quicklisp BSD Simplified License Join the chat at https://gitter.im/thephoeron/let-over-lambda

Doug Hoyte's "Production" version of macros from Let Over Lambda, including community updates; available from Quicklisp.

Read more about the book and code at: http://letoverlambda.com

News & Updates

3/19/2015

Add symbols for anaphoric macro internals, IT, THIS, and SELF to package exports for better end-user experience. Will be available in April 2015 release of Quicklisp.

8/14/2014

Issue with incompatible change to backquote syntax in SBCL 1.2.2 resolved; tested against and builds on SBCL 1.2.0-1 and 1.2.2. Will be available in the August release of Quicklisp.

12/18/2013

Now available in the December 2013 distribution of Quicklisp

Usage

Make sure you have the latest Quicklisp distribution, then include it as a dependency in your system definition, or from the REPL evaluate (ql:quickload "let-over-lambda").

(ql:quickload "let-over-lambda")
(lol:flatten '((A . B) (C . D) (E . (F G H (I . J) . K))))
=> (A B C D E F G H I J K)

LET-OVER-LAMBDA now uses the named-readtables library instead of modifying the global readtable. To use LOL reader macros in your Lisp source files, you will have to add both let-over-lambda and named-readtables to your project dependencies, and the following line after your call to in-package, in every source file you wish to use LOL syntax:

(named-readtables:in-readtable lol:lol-syntax)

Contributors


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 let-over-lambda

Maintainer

"the Phoeron" Colin J.E. Lupton <sysop@thephoeron.com>

Author

Doug Hoyte <doug@hoytech.com>

License

BSD Simplified

Description

The Production version code from letoverlambda.com, conveniently wrapped in an ASDF System for Quicklisp.

Version

1.0.1

Dependencies
Source

let-over-lambda.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 let-over-lambda.asd

Location

let-over-lambda.asd

Systems

let-over-lambda (system)

Packages

let-over-lambda-asd

Exported Definitions

*lol-version* (special variable)


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

3.1.2 let-over-lambda/package.lisp

Parent

let-over-lambda (system)

Location

package.lisp

Packages

let-over-lambda


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

3.1.3 let-over-lambda/let-over-lambda.lisp

Dependency

package.lisp (file)

Parent

let-over-lambda (system)

Location

let-over-lambda.lisp

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 let-over-lambda-asd

Source

let-over-lambda.asd

Use List
Exported Definitions

*lol-version* (special variable)


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

4.2 let-over-lambda

Source

package.lisp (file)

Nickname

lol

Use List
Exported Definitions
Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Special variables

Special Variable: *lol-version*

A string denoting the current version of LET-OVER-LAMBDA. Used for diagnostic output.

Package

let-over-lambda-asd

Source

let-over-lambda.asd


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

5.1.2 Macros

Macro: aif TEST THEN &optional ELSE
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: alambda PARMS &body BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: alet LETARGS &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: alet% LETARGS &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: defmacro! NAME ARGS &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: defmacro/g! NAME ARGS &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: defun! NAME ARGS &body BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: dlambda &rest DS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: fast-progn &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: if-match (MATCH-REGEX STR) THEN &optional ELSE
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: match-mode-ppcre-lambda-form O!ARGS O!MODS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: nlet-tail N LETARGS &body BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: pandoric-eval VARS EXPR
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: pandoric-recode VARS BOX NEW
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: pandoriclet LETARGS &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: plambda LARGS PARGS &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: safe-progn &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: sortf COMPARATOR &rest PLACES
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: subst-mode-ppcre-lambda-form O!ARGS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: when-match (MATCH-REGEX STR) &body FORMS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Macro: with-pandoric SYMS BOX &rest BODY
Package

let-over-lambda

Source

let-over-lambda.lisp (file)


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

5.1.3 Compiler macros

Compiler Macro: fformat STREAM FMT &rest ARGS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)


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

5.1.4 Functions

Function: #"-reader STREAM SUB-CHAR NUMARG
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: #`-reader STREAM SUB-CHAR NUMARG
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: #f-reader STREAM SUB-CHAR NUMARG
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: #~-reader STREAM SUB-CHAR NUMARG
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: build-batcher-sn N
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: dollar-symbol-p S
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: fformat &rest ALL
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: flatten X
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: g!-symbol-p S
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: get-pandoric BOX SYM
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Setf Expander

(setf get-pandoric) (setf expander)

Setf Expander: (setf get-pandoric) BOX SYM
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Reader

get-pandoric (function)

Function: group SOURCE N
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: let-binding-transform BS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: make-tlist ()
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: mkstr &rest ARGS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: o!-symbol-p S
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: o!-symbol-to-g!-symbol S
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: pandoric-hotpatch BOX NEW
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: pandoriclet-get LETARGS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: pandoriclet-set LETARGS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: segment-reader STREAM CH N
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: symb &rest ARGS
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-add-left TL IT
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-add-right TL IT
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-empty-p TL
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-left TL
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-rem-left TL
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-right TL
Package

let-over-lambda

Source

let-over-lambda.lisp (file)

Function: tlist-update TL
Package

let-over-lambda

Source

let-over-lambda.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: pandoric-eval-tunnel
Package

let-over-lambda

Source

let-over-lambda.lisp (file)


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

5.2.2 Functions

Function: #>-reader STREAM SUB-CHAR NUMARG
Package

let-over-lambda

Source

let-over-lambda.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L  
Index Entry  Section

F
File, Lisp, let-over-lambda.asd: The let-over-lambda<dot>asd file
File, Lisp, let-over-lambda/let-over-lambda.lisp: The let-over-lambda/let-over-lambda<dot>lisp file
File, Lisp, let-over-lambda/package.lisp: The let-over-lambda/package<dot>lisp file

L
let-over-lambda.asd: The let-over-lambda<dot>asd file
let-over-lambda/let-over-lambda.lisp: The let-over-lambda/let-over-lambda<dot>lisp file
let-over-lambda/package.lisp: The let-over-lambda/package<dot>lisp file
Lisp File, let-over-lambda.asd: The let-over-lambda<dot>asd file
Lisp File, let-over-lambda/let-over-lambda.lisp: The let-over-lambda/let-over-lambda<dot>lisp file
Lisp File, let-over-lambda/package.lisp: The let-over-lambda/package<dot>lisp file

Jump to:   F   L  

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

A.2 Functions

Jump to:   #   (  
A   B   C   D   F   G   I   L   M   N   O   P   S   T   W  
Index Entry  Section

#
#"-reader: Exported functions
#>-reader: Internal functions
#f-reader: Exported functions
#`-reader: Exported functions
#~-reader: Exported functions

(
(setf get-pandoric): Exported functions

A
aif: Exported macros
alambda: Exported macros
alet: Exported macros
alet%: Exported macros

B
build-batcher-sn: Exported functions

C
Compiler Macro, fformat: Exported compiler macros

D
defmacro!: Exported macros
defmacro/g!: Exported macros
defun!: Exported macros
dlambda: Exported macros
dollar-symbol-p: Exported functions

F
fast-progn: Exported macros
fformat: Exported compiler macros
fformat: Exported functions
flatten: Exported functions
Function, #"-reader: Exported functions
Function, #>-reader: Internal functions
Function, #f-reader: Exported functions
Function, #`-reader: Exported functions
Function, #~-reader: Exported functions
Function, build-batcher-sn: Exported functions
Function, dollar-symbol-p: Exported functions
Function, fformat: Exported functions
Function, flatten: Exported functions
Function, g!-symbol-p: Exported functions
Function, get-pandoric: Exported functions
Function, group: Exported functions
Function, let-binding-transform: Exported functions
Function, make-tlist: Exported functions
Function, mkstr: Exported functions
Function, o!-symbol-p: Exported functions
Function, o!-symbol-to-g!-symbol: Exported functions
Function, pandoric-hotpatch: Exported functions
Function, pandoriclet-get: Exported functions
Function, pandoriclet-set: Exported functions
Function, segment-reader: Exported functions
Function, symb: Exported functions
Function, tlist-add-left: Exported functions
Function, tlist-add-right: Exported functions
Function, tlist-empty-p: Exported functions
Function, tlist-left: Exported functions
Function, tlist-rem-left: Exported functions
Function, tlist-right: Exported functions
Function, tlist-update: Exported functions

G
g!-symbol-p: Exported functions
get-pandoric: Exported functions
group: Exported functions

I
if-match: Exported macros

L
let-binding-transform: Exported functions

M
Macro, aif: Exported macros
Macro, alambda: Exported macros
Macro, alet: Exported macros
Macro, alet%: Exported macros
Macro, defmacro!: Exported macros
Macro, defmacro/g!: Exported macros
Macro, defun!: Exported macros
Macro, dlambda: Exported macros
Macro, fast-progn: Exported macros
Macro, if-match: Exported macros
Macro, match-mode-ppcre-lambda-form: Exported macros
Macro, nlet-tail: Exported macros
Macro, pandoric-eval: Exported macros
Macro, pandoric-recode: Exported macros
Macro, pandoriclet: Exported macros
Macro, plambda: Exported macros
Macro, safe-progn: Exported macros
Macro, sortf: Exported macros
Macro, subst-mode-ppcre-lambda-form: Exported macros
Macro, when-match: Exported macros
Macro, with-pandoric: Exported macros
make-tlist: Exported functions
match-mode-ppcre-lambda-form: Exported macros
mkstr: Exported functions

N
nlet-tail: Exported macros

O
o!-symbol-p: Exported functions
o!-symbol-to-g!-symbol: Exported functions

P
pandoric-eval: Exported macros
pandoric-hotpatch: Exported functions
pandoric-recode: Exported macros
pandoriclet: Exported macros
pandoriclet-get: Exported functions
pandoriclet-set: Exported functions
plambda: Exported macros

S
safe-progn: Exported macros
segment-reader: Exported functions
Setf Expander, (setf get-pandoric): Exported functions
sortf: Exported macros
subst-mode-ppcre-lambda-form: Exported macros
symb: Exported functions

T
tlist-add-left: Exported functions
tlist-add-right: Exported functions
tlist-empty-p: Exported functions
tlist-left: Exported functions
tlist-rem-left: Exported functions
tlist-right: Exported functions
tlist-update: Exported functions

W
when-match: Exported macros
with-pandoric: Exported macros

Jump to:   #   (  
A   B   C   D   F   G   I   L   M   N   O   P   S   T   W  

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

A.3 Variables

Jump to:   *  
P   S  
Index Entry  Section

*
*lol-version*: Exported special variables

P
pandoric-eval-tunnel: Internal special variables

S
Special Variable, *lol-version*: Exported special variables
Special Variable, pandoric-eval-tunnel: Internal special variables

Jump to:   *  
P   S  

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

A.4 Data types

Jump to:   L   P   S  
Index Entry  Section

L
let-over-lambda: The let-over-lambda system
let-over-lambda: The let-over-lambda package
let-over-lambda-asd: The let-over-lambda-asd package

P
Package, let-over-lambda: The let-over-lambda package
Package, let-over-lambda-asd: The let-over-lambda-asd package

S
System, let-over-lambda: The let-over-lambda system

Jump to:   L   P   S