Compatibility: compat.ss

Next: Compiling Files: compile.ss Up: MzLib Libraries Previous: Command-line Parsing: cmdline.ss

## Compatibility: `compat.ss`

Files: `compat.ss`, `compatu.ss`, `compatr.ss`, `compats.ss`
Requires: `functios.ss`
Opened form requires: `functiou.ss`
Syntactic forms only: `compatm.ss`
Signature: `mzlib:compat^`
Unit: `mzlib:compat@`, imports `mzlib:function^`

This library defines a number of procedures and syntactic forms that are commonly provided by other Scheme implementations. Most of the procedures are aliases for built-in MzScheme procedures, as shown in Figure 15.1. The remaining procedures and forms are described below.

Figure 15.1: Compatibility aliases

`(atom? v)` PROCEDURE

Same as `(not (pair? v))`.

`(defmacro name formals body-expr )` SYNTAX

Expands into an equivalent `define-macro` expression.

`(getprop sym property default)` PROCEDURE

Gets a property value associated with the symbol sym. The property argument is also a symbol that names the property to be found. If the property is not found, default is returned. If the default argument is omitted, `#f` is used as the default.

`(letmacro name formals macro-body body-expr )` SYNTAX

Expands into an equivalent `let-macro` expression.

`(new-cafe [eval-handler])` PROCEDURE

Emulates Chez Scheme's `new-cafe`.

`(putprop sym property value)` PROCEDURE

Installs a value for property of the symbol sym. See `getprop` above.

`(sort less-than?-proc list)` PROCEDURE

This is the same as `mergesort` (see section 15.2.11) with the arguments reversed.