recur

2019-03-07

A simple alternative to Scheme's named-LET.

Upstream URL

bitbucket.org/tarballs_are_good/recur

Author

Robert Smith <quad@symbo1ics.com>

License

Public Domain. See LICENSE.
README
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).

Dependencies (0)

    Dependents (0)

      • GitHub
      • Quicklisp