A class is a collection of potentially abstract variable bindings. Classes are useful as miniature interfaces for function groupings with interesting algebraic properties.
An instance is a first-class compile time value that implements the members of one or more classes.
(class Eq [== (.. not /=)] [/= (.. not ==)])
(define-syntax EqEq (instance Eq [== eq?]))
(with-instance EqEq (and (/= 'x 'y) (== 'a 'a)))
A class is a collection of potentially abstract variable bindings. Classes are useful as miniature interfaces for function groupings with interesting algebraic properties.
An instance is a first-class compile time value that implements the members of one or more classes.
Instances can be combined.