Dan Eble <dan@lyric.works> writes:

> On Jun 3, 2022, at 11:48, David Kastrup <d...@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.

It's only a "mistake" if you hate things like associativity, want to
prohibit evaluating A+(B-C) as (A+B)-C and insist every intermediate
arithmetic result has to carry a physical meaning.

The whole point of Algebra is to separate operations and meaning.  Not
being allowed to work with simple group operations because they do not
pass some physics-based purity test is not really helping.

I am not proposing replacing moments and their grace time with complex
rationals.  But they would make for a convenient underlying
implementation.  Even if complex multiplication would be quite
pointless.

I think there is a point for making straightforward rationals the
representation for non-grace Moments that can turn into a Moment by
adding a grace part.  That aspect of complex rationals as an extension
of real rationals maps to what we'd want from Moment math.

Then adding constraints like "but you must not add two rationals" are
not, well, rational.

-- 
David Kastrup

Reply via email to