[Top][All Lists]

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

Re: Should we be touching goops?

From: Luca Fascione
Subject: Re: Should we be touching goops?
Date: Sun, 5 Jun 2022 16:26:13 +0200

On Sun, Jun 5, 2022 at 2:12 PM Jean Abou Samra <> wrote:

> As David already said, the part of LilyPond we're discussing is using
> rationals. Furthermore, (a + b) + c being close but not equal to
> a + (b + c) for floats is not really an issue for most parts of LilyPond.

Yes, agreed on all points. I'd be surprised this would make a big practical
The difference is there, but at worst it's one least significant bit per
operation when floats are involved.
It's tiny in practice.

> "a + (b + c) is close but not equal to "(a + b) + c" is different
> from "a + (b + c)" works whereas "(a + b) + c" errors out (in Scheme)
> or doesn't compile (in C++)".

Agreed. Although in this case you'd have a being a Moment and b and c being
spans, so either association would be correct
(and identical in value given they're rationals). But yes, yes of course,
in general.

> From what I've heard, GOOPS used to be inefficient at dispatching
> virtual calls. This problem is apparently gone now.


> Boxing and unboxing has a certain cost, but LilyPond is not optimized
> to the point that thinking about it causes significant savings. The
> order of the most worthy optimizations is more high-level.

Yes, that'd be my expectation too.

I think we all agree that these are good things in
> any software projects. The question is whether a
> given change will contribute enough to these goals
> to be worth it compared to its costs and downsides.



Luca Fascione

reply via email to

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