Quickutilβ

Lisp utilities on demand

Fork me on GitHub
search

There are 4 utilities.

letf* v1.0

Given a list of bindings whose keys are places and whose values are forms, set them for the duration of body, but restore their values (as visible upon evaluation of this macro) upon completion. The restoration is ensured with unwind-protect.

Provides
letf*
Requires
zip, appendf
Source Code
 
let1 v1.0

Bind VAR to VAL within BODY. Equivalent to LET with one binding.

Provides
let1
Source Code
 
if-let v1.0

Creates new variable bindings, and conditionally executes either then-form or else-form. else-form defaults to nil.

bindings must be either single binding of the form:

(variable initial-form) 

or a list of bindings of the form:

((variable-1 initial-form-1)  
 (variable-2 initial-form-2)  
 ...  
 (variable-n initial-form-n)) 

All initial-forms are executed sequentially in the specified order. Then all the variables are bound to the corresponding values.

If all variables were bound to true values, the then-form is executed with the bindings in effect, otherwise the else-form is executed with the bindings in effect.

Provides
if-let
Source Code
 
when-let v1.0

Creates new variable bindings, and conditionally executes a series of forms.

Provides
when-letwhen-let*
Source Code