Operators can be overloaded by defining them as messages.
(vector (list (x integer) (y integer)) msg ((+ vectorplus open t argtypes (vector)))) (gldefun vectorplus ((v1 vector) (v2 vector)) (a (typeof v1) with x = (x v1) + (x v2) y = (y v1) + (y v2)))The use of typeof lets the code use a type derived from an argument.
(gldefun t7 ((u vector) (v vector)) u + v) result type: VECTOR (LAMBDA (U V) (LIST (+ (CAR U) (CAR V)) (+ (CADR U) (CADR V))))
Contents    Page-10    Prev    Next    Page+10    Index