changeset 11:9f05ce23e71e

More default methods darcs-hash:20061129122229-f76cc-078113c430c4ae9f6c01056c6e7e6ecd078e7409.gz
author David Lewis <d.lewis@gold.ac.uk>
date Wed, 29 Nov 2006 12:22:29 +0000
parents 356ee92313be
children f6c08ad94c8a
files generics.lisp
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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))))