74 lines
2.7 KiB
Plaintext
74 lines
2.7 KiB
Plaintext
|
|
The "lang" collection defines a number of modules that can serve as
|
|
languages for other modules (i.e., as the initial import):
|
|
|
|
* _r5rs.ss_ - provides R5RS Scheme, which is defined in the "r5rs"
|
|
collection. This file is here only for backward compatibility, use
|
|
(lib "lang.ss" "r5rs") instead.
|
|
|
|
* _plt-pretty-big-text.ss_ - provides MzScheme plus the
|
|
following MzLib libraries: etc.ss, file.ss, list.ss,
|
|
class.ss, unit.ss, include.ss, defmacro.ss,
|
|
pretty.ss, string.ss, thread.ss, math.ss, match.ss, and
|
|
shared.ss. It also provides the posn, color, and image
|
|
functions of Beginning Student.
|
|
|
|
* _plt-pretty-big.ss_ - provides plt-pretty-big-text.ss
|
|
plus the MrEd classes. This corresponds to the
|
|
_Pretty Big Scheme_ language in DrScheme.
|
|
|
|
* _htdp-beginner.ss_ - provides Beginning Student
|
|
|
|
* _htdp-beginner-abbr.ss_ - provides Beginning Student with List Abbreviations
|
|
|
|
* _htdp-intermediate.ss_ - provides Intermediate Student
|
|
|
|
* _htdp-intermediate-lambda.ss_ - provides Intermediate Student with Lambda
|
|
|
|
* _htdp-advanced.ss_ - provides Advanced Student
|
|
|
|
In addition, the "lang" collection defines two modules that supply
|
|
special teaching functions:
|
|
|
|
* _posn.ss_ - provides the `posn' structure
|
|
|
|
* _imageeq.ss_ - provides the `image=?' function
|
|
|
|
----------------------------------------
|
|
|
|
_Teachpacks, Beginner_
|
|
_Teachpacks, Higher-order Primitives_
|
|
|
|
The _prim.ss_ module defines two syntactic forms for use by the
|
|
implementors of teachpacks, which the teachpack is to be used with the
|
|
Beginner Student languages. In Beginner Student, primitive names (for
|
|
built-in procedures) are distinguished from other types of
|
|
expressions, so that they can be syntactically restricted to
|
|
application positions.
|
|
|
|
> (define-higher-order-primitive id proc-id (arg ...)) - defines `id'
|
|
to be a primitive operator whose implementation is
|
|
`proc-id'. Normally, `id' is exported from the teachpack and
|
|
`proc-id' is not.
|
|
|
|
For each non-procedure argument, the corresponding `arg' should be
|
|
an underscore. For each procedure argument, the corresponding `arg'
|
|
should be the usual name of the procedure.
|
|
|
|
Example:
|
|
(define-higher-order-primitive convert-gui convert-gui/proc (f2c))
|
|
|
|
> (provide-higher-order-procedure id (arg ...)) - like above, but the
|
|
function `id' is exported as the primitive operator named `id'.
|
|
|
|
> (define-primitive id proc-id) - defines `id' to be a primitive
|
|
operator whose implementation is `proc-id', and which takes no
|
|
procedures as arguments. Normally, `id' is exported from the
|
|
teachpack and `proc-id' is not.
|
|
|
|
> (provide-primitive id) - like above, but the function `id' is
|
|
exported as the primitive operator named `id'.
|
|
|
|
> (provide-primitives id ...) - multi-provide version of
|
|
`provide-primitive'.
|