The yaclanapht Reference Manual

Table of Contents

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

The yaclanapht Reference Manual

This is the yaclanapht Reference Manual, version 0.1, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 09:32:11 2018 GMT+0.


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

1 Introduction

anaphora

Yet another anaphoric macro package. Why?

Currently (as of 2013/02/24) other available anaphoric macro packages do not allow the following sequence of steps to work.

    CL-USER> (ql:quickload 'yaclanapht)
    CL-USER> (yaclanapht:aif (+ 1 2) it 6)
    3

For things to work correctly, you should use the package, which basicaly means, that you should create your own package, which prohibits script-like programming style, found in Perl or Python.

This package is intended to fill the gap. With it, abovewritten code works just as intended (i.e., works). It does so by interning IT during macroexpansion in the caller's package, not definer's.

To make this not-using style even more convenient, nickname "A" is chosen for this package. I believe, that in this case this is justifiable, since there isn't really other clear candidate for the name except anaphoric macro collection package.

Also, some macros, found in classic books ("On Lisp", "Let over Lambda") work as described there (for example, ALET), and not in some trivial noninteresting way.

TODO:

  1. include analogs of all macros in ANAPHORA
  2. include DEFANAPH from "On Lisp"
  3. include ALET and ALET-FSM from "LOL"
  4. include xyz-lambda reader macro.

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 yaclanapht

License

GPLv3

Version

0.1

Dependencies
Source

yaclanapht.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 yaclanapht.asd

Location

yaclanapht.asd

Systems

yaclanapht (system)


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

3.1.2 yaclanapht/packages.lisp

Parent

yaclanapht (system)

Location

packages.lisp

Packages

yaclanapht


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

3.1.3 yaclanapht/yaclanapht.lisp

Dependency

packages.lisp (file)

Parent

yaclanapht (system)

Location

yaclanapht.lisp

Exported Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 yaclanapht

Collection of anaphoric macros from ’On Lisp’ and ’Let Over Lambda’.
Distinct feature is that it interns IT (and other anaphoric symbols) directly into callee-package’s namespace.

Source

packages.lisp (file)

Nickname

a

Use List
Exported Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Macros

Macro: aand &rest CLAUSES

Binds IT to the subsequent return-values of clauses. Such that for each clause, return-value of previous one is accessible through IT.

Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: aandl &rest CLAUSES

Like AAND, but IT is gradually consed list of return-values of clauses.

Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: acond-got &body CLAUSES

Like COND, but assumes that all clauses predicates return 2 values: IT and GOT (like GETHASH function). Clause succeeds, if GOT is T and IT is bound to the first value in the body of the clause.

Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: aif TEST THEN &optional ELSE
Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: apif OP TEST THEN &optional ELSE

Anaphoric-predicative if (i.e. it binds IT to
test, then uses OP to determine whether to go to THEN or ELSE.

Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: avcond-got VAR &body CLAUSES

Anaphoric-variants ACOND-GOT.

Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: avif VAR TEST THEN &optional ELSE

Anaphoric-variants IF. Binds VAR to result of TEST evaluation.

Package

yaclanapht

Source

yaclanapht.lisp (file)

Macro: awhen TEST &body BODY
Package

yaclanapht

Source

yaclanapht.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   Y  
Index Entry  Section

F
File, Lisp, yaclanapht.asd: The yaclanapht<dot>asd file
File, Lisp, yaclanapht/packages.lisp: The yaclanapht/packages<dot>lisp file
File, Lisp, yaclanapht/yaclanapht.lisp: The yaclanapht/yaclanapht<dot>lisp file

L
Lisp File, yaclanapht.asd: The yaclanapht<dot>asd file
Lisp File, yaclanapht/packages.lisp: The yaclanapht/packages<dot>lisp file
Lisp File, yaclanapht/yaclanapht.lisp: The yaclanapht/yaclanapht<dot>lisp file

Y
yaclanapht.asd: The yaclanapht<dot>asd file
yaclanapht/packages.lisp: The yaclanapht/packages<dot>lisp file
yaclanapht/yaclanapht.lisp: The yaclanapht/yaclanapht<dot>lisp file

Jump to:   F   L   Y  

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

A.2 Functions

Jump to:   A   M  
Index Entry  Section

A
aand: Exported macros
aandl: Exported macros
acond-got: Exported macros
aif: Exported macros
apif: Exported macros
avcond-got: Exported macros
avif: Exported macros
awhen: Exported macros

M
Macro, aand: Exported macros
Macro, aandl: Exported macros
Macro, acond-got: Exported macros
Macro, aif: Exported macros
Macro, apif: Exported macros
Macro, avcond-got: Exported macros
Macro, avif: Exported macros
Macro, awhen: Exported macros

Jump to:   A   M  

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

A.3 Variables


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

A.4 Data types

Jump to:   P   S   Y  
Index Entry  Section

P
Package, yaclanapht: The yaclanapht package

S
System, yaclanapht: The yaclanapht system

Y
yaclanapht: The yaclanapht system
yaclanapht: The yaclanapht package

Jump to:   P   S   Y