7 Classes and Objects
| (require (planet cce/scheme:7:5/class)) | 
This module provides tools for classes, objects, and mixins.
7.1 Predicates and Contracts
Recognizes classes and interfaces.
| (object-provides/c spec ...) → flat-contract? | 
| spec : class-or-interface/c | 
Recognizes objects which are instances of all the given classes and interfaces.
| (class-provides/c spec ...) → flat-contract? | 
| spec : class-or-interface/c | 
Recognizes classes which are subclasses (not strictly) and implementations,
respectively, of all the given classes and interfaces.
| (mixin-provides/c [super-expr ...] [sub-expr ...]) | 
Function contract for a mixin whose argument is the parent class c%
matching (class-provides/c super-expr ...) and whose result matches
(class-provides/c c% sub-expr ...).
7.2 Mixins
| (ensure-interface i<%> mx c%) → (class-provides/c c% i<%>) | 
| i<%> : interface? | 
| mx : (mixin-provides/c [] [i<%>]) | 
| c% : class? | 
Returns c% if it implements i<%>; otherwise, returns
(mx c%).
7.3 Methods
| (send+ obj [message arg ...] ...) | 
Sends each message (with arguments) to obj, then returns obj.
Examples:  | |||||||||||
  | 
| (send-each objs message arg ...) | 
Examples:  | |||||||||||||||
  |