Next: SRFI-34 - Exception handling for programs, Previous: SRFI-30 - Nested Multi-line Comments, Up: SRFI Support Modules [Contents][Index]
SRFI-31 defines a special form that can be used to create self-referential expressions more conveniently. The syntax is as follows:
<rec expression> --> (rec <variable> <expression>) <rec expression> --> (rec (<variable>+) <body>)
The first syntax can be used to create self-referential expressions, for example:
guile> (define tmp (rec ones (cons 1 (delay ones))))
The second syntax can be used to create anonymous recursive functions:
guile> (define tmp (rec (display-n item n)
(when (positive? n)
(display item) (newline)
(display-n item (- n 1)))))
guile> (tmp 42 3)
42
42
42
guile>