Minilight: module
{
init: fn(nil: ref Draw->Context, nil: list of string);
};
Vector: adt {
x, y, z : real;
negate : fn(v: self ref Vector);
add : fn(v: self ref Vector, o : ref Vector);
sub : fn(v: self ref Vector, o : ref Vector);
mul : fn(v: self ref Vector, o : ref Vector);
is_zero : fn(v: self ref Vector) : int;
dot : fn(v: self ref Vector, o : ref Vector) : real;
unitize : fn(v: self ref Vector) : ref Vector;
};
|