lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Should we be touching goops?


From: Dan Eble
Subject: Re: Should we be touching goops?
Date: Fri, 3 Jun 2022 17:26:56 -0400

On Jun 3, 2022, at 11:48, David Kastrup <dak@gnu.org> wrote:
> 
> Programming languages don't offer different types for distances,
> positions, weights, forces, whatnot. When I equate various amounts of

Bringing the conversation back to a Moment versus the delta between two 
Moments, C++11 has std::chrono::time_point and std::chrono::duration.  I have 
used these and found them very helpful for catching mistakes such as adding two 
time_points together.

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?

Maybe we could globally replace (moment?) with (moment-or-dmoment?), then 
incrementally convert functions to be more picky about the types they accept.

> 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 or 
how much time remains.  It's not fine to do these things with time points.
— 
Dan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]