The recur Reference Manual

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

The recur Reference Manual

This is the recur Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Jun 15 05:43:27 2022 GMT+0.

Table of Contents


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).


2 Systems

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


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

2.1 recur

A simple alternative to Scheme’s named-LET.

Author

Robert Smith <quad@symbo1ics.com>

License

Public Domain. See LICENSE.

Source

recur.asd.

Child Components

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   [Contents][Index]

3.1.1 recur/recur.asd

Source

recur.asd.

Parent Component

recur (system).

ASDF Systems

recur.


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

3.1.2 recur/package.lisp

Source

recur.asd.

Parent Component

recur (system).

Packages

recur.


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

3.1.3 recur/recur.lisp

Dependency

package.lisp (file).

Source

recur.asd.

Parent Component

recur (system).

Public Interface

recur (macro).


4 Packages

Packages are listed by definition order.


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

4.1 recur

Source

package.lisp.

Use List

common-lisp.

Public Interface

recur (macro).


5 Definitions

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


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

5.1 Public Interface


5.1.1 Macros

Macro: recur (name (&rest bindings) &body body)

A macro imitating Scheme’s named-LET.

Package

recur.

Source

recur.lisp.


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   M   R  
Index Entry  Section

M
Macro, recur: Public macros

R
recur: Public macros

Jump to:   M   R  

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

A.3 Variables