Convenience forms for working with parameters.
(make-guard pred type-message) → (any -> any)
pred : (any -> boolean?)
type-message : string?
Creates a procedure that may be used as a parameter’s guard procedure. The guard only allows values for which pred returns #t. If an invalid value is supplied, the guard raises exn:fail:contract with an error message based on the supplied type-message.
make-guard has been superseded by the parameter/c contract in PLT 4.
> (param 1)
> (param #f)
> (param #t)
Expected (U integer #f), received #t
(define-parameter id initial-value guard-proc with-form-id)
Convenience form that expands into two definitions:
id is bound to a parameter with the supplied initial-value and guard-proc;
with-form-id is bound to a syntax of the form:
that expands to:
(parameterize ([id expr]) body )
> (with-foo 10 (foo))
> (with-foo "bar" 10)
Expected (U integer #f), received "bar"