The recur Reference Manual

Table of Contents

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

The recur Reference Manual

This is the recur Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:31:30 2018 GMT+0.


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

1 Introduction

                                RECUR

               A simple library for Scheme's named LET.


RECUR is a simple Lisp alternative Scheme's "named-LET". Scheme allows
one to iterate like the following:

(define (factorial n)
  (let fact ((n    n)
             (prod 1))
    (if (zero? n)
        prod
        (fact (- n 1)
              (* n prod)))))

This is a useful idiom for Lisp as well. With this library, it is written

(defun factorial (n)
  (recur fact ((n    n)
               (prod 1))
    (if (zerop n)
        prod
        (fact (1- n)
              (* n prod)))))          

This library exports a single macro, RECUR:RECUR, which is a
replacement for Scheme's named-LET. The only caveat is that tail
recursion is not strictly supported, though many implementations do
support it (with some combination of OPTIMIZE declarations).


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 recur

Author

Robert Smith <quad@symbo1ics.com>

License

Public Domain. See LICENSE.

Description

A simple alternative to Scheme’s named-LET.

Source

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

Location

recur.asd

Systems

recur (system)


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

3.1.2 recur/package.lisp

Parent

recur (system)

Location

package.lisp

Packages

recur


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

3.1.3 recur/recur.lisp

Dependency

package.lisp (file)

Parent

recur (system)

Location

recur.lisp

Exported Definitions

recur (macro)


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

4 Packages

Packages are listed by definition order.


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

4.1 recur

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions

recur (macro)


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: recur NAME (&rest BINDINGS) &body BODY

A macro imitating Scheme’s named-LET.

Package

recur

Source

recur.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   R  
Index Entry  Section

F
File, Lisp, recur.asd: The recur<dot>asd file
File, Lisp, recur/package.lisp: The recur/package<dot>lisp file
File, Lisp, recur/recur.lisp: The recur/recur<dot>lisp file

L
Lisp File, recur.asd: The recur<dot>asd file
Lisp File, recur/package.lisp: The recur/package<dot>lisp file
Lisp File, recur/recur.lisp: The recur/recur<dot>lisp file

R
recur.asd: The recur<dot>asd file
recur/package.lisp: The recur/package<dot>lisp file
recur/recur.lisp: The recur/recur<dot>lisp file

Jump to:   F   L   R  

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

A.2 Functions

Jump to:   M   R  
Index Entry  Section

M
Macro, recur: Exported macros

R
recur: Exported macros

Jump to:   M   R  

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

A.3 Variables


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

A.4 Data types

Jump to:   P   R   S  
Index Entry  Section

P
Package, recur: The recur package

R
recur: The recur system
recur: The recur package

S
System, recur: The recur system

Jump to:   P   R   S