On this page:
class100*
class100
class100-asi
class100*-asi
super-init

 (require mzlib/class100)

The class100 and class100* forms provide a syntax close to that of class and class* in PLT Scheme 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 without interface-exprs.

(class100-asi superclass instance-id-clause ...)
Like class100, but all initialization arguments are automatically passed on to the superclass initialization procedure by position.

(class100*-asi superclass interfaces instance-id-clause ...)
Like class100*, but all initialization arguments are automatically passed on to the superclass initialization procedure by position.

(super-init init-arg-expr ...)
An alias for super-make-object.