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

 (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.