# HG changeset patch # User David Lewis # Date 1164802949 0 # Node ID 9f05ce23e71ec747d1fd29f27373bd4afcc7d1bc # Parent 356ee92313be8645110106e91cb54b3899198def More default methods darcs-hash:20061129122229-f76cc-078113c430c4ae9f6c01056c6e7e6ecd078e7409.gz diff -r 356ee92313be -r 9f05ce23e71e generics.lisp --- a/generics.lisp Mon Nov 13 19:29:40 2006 +0000 +++ b/generics.lisp Wed Nov 29 12:22:29 2006 +0000 @@ -34,7 +34,8 @@ (defgeneric time- (object1 object2)) (defgeneric time> (object1 object2)) -(defgeneric time< (object1 object2)) +(defgeneric time< (object1 object2) + (:method (o1 o2) (time> o2 o1))) (defgeneric time= (object1 object2)) (defgeneric time>= (object1 object2) (:method (o1 o2) (or (time> o1 o2) (time= o1 o2)))) @@ -47,7 +48,8 @@ ;;; Duration protocol (defgeneric duration> (object1 object2)) -(defgeneric duration< (object1 object2)) +(defgeneric duration< (object1 object2) + (:method (o1 o2) (duration> o2 o1))) (defgeneric duration= (object1 object2)) (defgeneric duration>= (object1 object2) (:method (o1 o2) (or (duration> o1 o2) (duration= o1 o2)))) @@ -73,7 +75,8 @@ (defgeneric pitch- (object1 object2)) (defgeneric pitch> (object1 object2)) -(defgeneric pitch< (object1 object2)) +(defgeneric pitch< (object1 object2) + (:method (o1 o2) (pitch> o2 o1))) (defgeneric pitch= (object1 object2)) (defgeneric pitch>= (object1 object2) (:method (o1 o2) (or (pitch> o1 o2) (pitch= o1 o2)))) @@ -85,7 +88,8 @@ ;;; Interval protocol (emphasise _pitch_ not _time_ interval?) (defgeneric interval> (object1 object2)) -(defgeneric interval< (object1 object2)) +(defgeneric interval< (object1 object2) + (:method (o1 o2) (interval> o2 o1))) (defgeneric interval= (object1 object2)) (defgeneric interval>= (object1 object2) (:method (o1 o2) (or (interval> o1 o2) (interval= o1 o2))))