The mzlib/compat library defines a number of procedures and syntactic forms that are commonly provided by other Scheme implementations. Most of the procedures are aliases for mzscheme procedures.
| ||
| ||
| ||
| ||
|
| ||
|
(gentmp [base]) → symbol? |
Same as gensym.
(flush-output-port [o]) → void? |
o : output-port? = (current-output-port) |
Same as flush-output.
Same as current-milliseconds.
(atom? v) → any |
v : any/c |
Same as (not (pair? v)) (which does not actually imply an atomic value).
(define-structure (name-id field-id )) | ||
|
Like define-struct, except that the name-id is moved inside the parenthesis for fields. In addition, init-field-ids can be specified with automatic initial-value expression.
The init-field-ids do not have corresponding arguments for the make-name-id constructor. Instead, each init-field-id’s init-expr is evaluated to obtain the field’s value when the constructor is called. The field-ids are bound in init-exprs, but not other init-field-ids.
Examples: |
> (define-structure (add left right) ([sum (+ left right)])) |
> (add-sum (make-add 3 6)) |
9 |
| ||||
|
The getprop function gets a property value associated with sym. The property argument names the property to be found. If the property is not found, default is returned.
The properties obtained with getprop are the ones installed with putprop.
(new-cafe [eval-handler]) → any |
eval-handler : (any/c . -> . any) = #f |
Emulates Chez Scheme’s new-cafe by installing eval-handler into the current-eval parameter while running read-eval-print. In addition, current-exit is set to escape from the call to new-cafe.