The letv Reference Manual

This is the letv Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:53:10 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 letv

The LETV Package.

Exports two macros, LETV and LETV* that allow to combine standard LET and LET* constucts with MULTIPLE-VALUE-BIND in a possible less verbose way that also requires less indentation.

Author

Marco Antoniotti

License

BSD

Source

letv.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 letv/letv.asd

Source

letv.asd.

Parent Component

letv (system).

ASDF Systems

letv.


3.1.2 letv/letv-package.lisp

Source

letv.asd.

Parent Component

letv (system).

Packages

it.unimib.disco.ma.cl.extensions.letv.


3.1.3 letv/letv.lisp

Dependency

letv-package.lisp (file).

Source

letv.asd.

Parent Component

letv (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 it.unimib.disco.ma.cl.extensions.letv

The LETV Package.

Exports two macros, LETV and LETV* that allow to combine standard LET and LET* constucts with MULTIPLE-VALUE-BIND in a possible less verbose way that also requires less indentation.

Source

letv-package.lisp.

Nickname

letv

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 Macros

Macro: letv (&body vars-n-body)

Expands in a LET where each variable is initialized in a subsequent step.

The macro introduces a less verbose way to introduce bindings while adopting a LOOP-like syntax.

Each variable is initialized by means of PSETQs and MULTIPLE-VALUE-SETQs. Care is taken to mimic the semantic of LET and to properly handle type declarations by means of LOCALLY.

Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Macro: letv* (&body vars-n-body)

Expands in a nested structure of LET*s and MULTIPLE-VALUE-BINDs.

The macro introduces a less verbose way to introduce bindings while adopting a LOOP-like syntax.

Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.


5.2 Internals


5.2.1 Ordinary functions

Function: build-par-binding-forms (vars forms type-specs body)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Function: build-seq-binding-forms (vars forms type-specs body)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Function: build-setq-stmts (vars forms)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Function: check-vars (vars)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Function: collect-vars (vars)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Function: parse-letv-vars (vars-specs)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.

Function: parse-letv-vars-n-body (vars-n-body)
Package

it.unimib.disco.ma.cl.extensions.letv.

Source

letv.lisp.


Appendix A Indexes


A.1 Concepts


A.3 Variables