Scalable and Continuous

Ashley Yakeley
Mon, 12 Feb 2001 02:49:02 -0800

A brief idea:

something like...

class (Additive a) => Scalable a
     scale :: Real -> a -> a -- equivalent to * (not sure of name for 
Real type)

class (Scalable b) => Continuous a b | a -> b
     add :: b -> a -> a
     difference :: a -> a -> b

Vectors, for instance, are Scalable. You can multiply them by any real 
number to get another vector. Num would also be Scalable.

An example of Continuous would be time, e.g. "Continuous Time Interval". 
There's no zero time, although there is a zero interval. Space too: 
"Continuous Position Displacement", since there's no "zero position".

Ashley Yakeley, Seattle WA