chickadee » moremacros » make-variable

make-variable INIT #!optional GUARDprocedure

Returns a procedure whose behavior is that of a parameter, except for the fact that it is not a parameter. The closed-over value is not thread-local.

INIT is some Scheme object that meets the constraint enforced by the GUARD.

GUARD is a (procedure (*) *) returning an acceptable value for the variable. Default is identity.

Supports SRFI 17.