[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Should we be touching goops?
From: |
David Kastrup |
Subject: |
Re: Should we be touching goops? |
Date: |
Fri, 03 Jun 2022 17:48:22 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Carl Sorensen <carl.d.sorensen@gmail.com> writes:
> On Fri, Jun 3, 2022 at 7:21 AM David Kastrup <dak@gnu.org> wrote:
>
>> Dan Eble <dan@lyric.works> writes:
>>
>> > On Jun 2, 2022, at 20:32, David Kastrup <dak@gnu.org> 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.
>>
>
> I think that baseMoment is exactly the kind of use that that Dan is
> addressing.
>
> baseMoment is a "Moment Span", that is, a separation between two distinct
> moments in time.
>
> I think that we need the concept of a Moment Span. Although it can be
> represented as a Rational (as long as we ignore the Grace part),
A base moment has no grace part: that would be an utter absurdity. Your
willingness to ignore this aspect of the type while wanting to stress
that it is inherently a period size makes obvious that this is more of a
picked academic issue than anything else.
> just using a Rational does not carry the semantics of a Moment Span.
Programming languages don't offer different types for distances,
positions, weights, forces, whatnot. When I equate various amounts of
power, the numbers don't demand that I get every part of
1 kg m²/s² = 1 V A s
signed off by the compiler. I can rearrange terms perfectly well from
a + b - c = a - c + b = (-c) + b + a
without worrying about order of execution to make sure that every
intermediate term has a well-defined physical meaning.
> As I see it, a Moment represents a span from time 0, with the time 0
> being implied. It seems like we ought to be able to represent a
> moment span as a pair of Moments.
Frankly, that's academic. It reminds me of the excessive amount of
energy placed into keeping the mathematics(!) of location vectors and
difference vectors separate.
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 .
--
David Kastrup
- Should we be touching goops?, David Kastrup, 2022/06/02
- Re: Should we be touching goops?, Dan Eble, 2022/06/03
- Re: Should we be touching goops?, David Kastrup, 2022/06/03
- Re: Should we be touching goops?, Carl Sorensen, 2022/06/03
- Re: Should we be touching goops?,
David Kastrup <=
- Re: Should we be touching goops?, Aaron Hill, 2022/06/03
- Re: Should we be touching goops?, Dan Eble, 2022/06/03
- Re: Should we be touching goops?, David Kastrup, 2022/06/03
- Re: Should we be touching goops?, David Kastrup, 2022/06/03
- Re: Should we be touching goops?, Immanuel Litzroth, 2022/06/04
- Re: Should we be touching goops?, Luca Fascione, 2022/06/04
- Re: Should we be touching goops?, David Kastrup, 2022/06/04
- Re: Should we be touching goops?, Luca Fascione, 2022/06/04
- Re: Should we be touching goops?, David Kastrup, 2022/06/04
- Re: Should we be touching goops?, Jean Abou Samra, 2022/06/05