list-plus
list+
7.8

list-plus

Sorawee Porncharoenwase <sorawee.pwase@gmail.com>

 (require list-plus) package: list-plus

This library provides a form list+ which is like list, but allows internal definitions inside it.

syntax

(list+ defn-or-expr ...)

Supports a mixture of expressions and mutually recursive definitions. The result of the list+ form is a list of values produced by expressions in defn-or-expr.

Examples:
> (define-syntax-rule (define-like x v) (define-values (x) v))
> (list+ 1
         (define x 2)
         (add1 x)
         (define-syntax (mac stx) #'5)
         (mac)
         (define-like y 7)
         y
         (begin -1 ; Note that begin is splicing.
                -2))

'(1 3 5 7 -1 -2)