Dan Eble <[email protected]> writes: > On Jun 2, 2022, at 20:32, David Kastrup <[email protected]> wrote: >> >> #(define-method (+ (a <Moment>) (b <Moment>)) (ly:moment-add a b)) >> #(define-method (- (a <Moment>) (b <Moment>)) (ly:moment-sub a b)) > > Could we also introduce a distinction in type between points and spans > of time? "Measure 12 minus Measure 8" is 4 measures, but it is not > Measure 4; and "Measure 12 plus Measure 8" is not a thing.
While I get your point, I think that this ship has sailed. That's not as much a problem of GOOPS but of the preexisting code. I think the first point of cleanup would be to replace Moment's misuse as a substitute for "Rational" (which did not have a Scheme representation and was done at a time where Guile did not have "arbitrary" precision rationals), like in baseMoment. -- David Kastrup
