The class100 and class100* forms provide a syntax
close to that of class and class* in Racket
versions 100 through 103, but with the semantics of the current
scheme/class-based class system. For a class defined
with class100, keyword-based initialization arguments can be
propagated to the superclass, but by-position arguments are not (i.e.,
the expansion of class100 to class always includes
an init-rest clause).
The class100 form uses keywords (e.g., public) that
are defined by the mzlib/class library, so typically
scheme/class must be imported into any context that
imports mzlib/class100.
(class100* superclass-expr (interface-expr ...) init-ids | class100-clause | ...) |
|
|
init-ids | | = | | id | | | | | | (id ... id-with-default ...) | | | | | | (id ... id-with-default ... . id) | | | | | | id-with-default | | = | | (id default-expr) | | | | | | class100-clause | | = | | (sequence expr ...) | | | | | | (public public-method-decl ...) | | | | | | (override public-method-decl ...) | | | | | | (augment public-method-decl ...) | | | | | | (pubment public-method-decl ...) | | | | | | (overment public-method-decl ...) | | | | | | (augride public-method-decl ...) | | | | | | (private private-method-decl ...) | | | | | | (private-field private-var-decl ...) | | | | | | (inherit inherit-method-decl ...) | | | | | | (rename rename-method-decl ...) | | | | | | public-method-decl | | = | | ((internal-id external-id) method-procedure) | | | | | | (id method-procedure) | | | | | | private-method-decl | | = | | (id method-procedure) | | | | | | private-var-decl | | = | | (id initial-value-expr) | | | | | | (id) | | | | | | id | | | | | | inherit-method-decl | | = | | id | | | | | | (internal-instance-id external-inherited-id) | | | | | | rename-method-decl | | = | | (internal-id external-id) |
|
(class100 superclass-expr init-ids | class100-clause | ...) |
|
Like
class100, but all initialization arguments are
automatically passed on to the superclass initialization procedure by
position.
Like
class100*, but all initialization arguments are
automatically passed on to the superclass initialization procedure by
position.