Version: 4.2.0.5
21 Parameter utilities
| (require (planet untyped/unlib/parameter)) | 
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.
Examples:  | ||
  | ||
| > (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:
(with-form-id expr body ) that expands to:
(parameterize ([id expr]) body )
Examples:  | ||||
  | ||||
| > (with-foo 10 (foo)) | ||||
10  | ||||
| > (with-foo "bar" 10) | ||||
Expected (U integer #f), received "bar"  |