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.
(atom? v) → any |
v : any/c |
Same as
(not (pair? v)) (which does not actually imply an
atomic value).
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.