Dan Eble <dan@lyric.works> writes: > At a minimum, we could forego defining (+ Moment Moment) -- or is > there a need to expand the loose dealings of the past into a new area?
We don't have a separate data type for time lengths, and I don't really see an expected gain for such a one. > Maybe we could globally replace (moment?) with (moment-or-dmoment?), > then incrementally convert functions to be more picky about the types > they accept. And create separate data structures that behave just the same, except that stuff like associativity goes out the window? >> Just as a reminder: we have functions ly:moment-mul and ly:moment-div >> and ly:moment-mod . In terms of being a logical atrocity, they >> certainly beat hollow the "problem" of not inventing a different type >> for time spans from arbitrary positions than for time spans from >> ZERO_MOMENT . > > The atrocity of these functions is directly related to the conflation > of time point, duration, and plain old number. It's fine to scale a > time delta by a number. It's fine to ask how many times one time > delta fits into another So how often does 1-G1/4 fit in 2-G1/2 ? What is the "precise" time delta from 1-G1/4 to 2-G1/2 ? We don't magically get meaning from adding restrictions. > or how much time remains. It's not fine to do these things with time > points. — Dan They are not "time points". They are our Measure of time, whether absolute or relative. Forcefully assigning some meaning to them in order to prohibit any operation that does not match the meaning is not going to end up in anything more useful. -- David Kastrup