On 4/27/15 3:09 AM, "David Kastrup" <address@hidden> wrote:
As things currently stand, I suspect that the current mechanism for
creating Scheme engravers with their own variables (namely providing a
function creating an engraver description) does not have likable
performance characteristics and, more importantly, does not really work
reasonably at all with regard to registering Scheme engravers like C++
engravers so that they can be called by name and documented in the same
manner.
I'm totally supportive of developing a way to register Scheme engravers so
they can be documented and be full members of the LilyPond family.
I'll probably come up with something GOOPS-related eventually and the
closure mechanism for creating Scheme engravers will be deprecated.
At any rate, I am starting over _again_ but I think that I am now at the
stage where my plan of execution is nicely streamlined and "Listeners"
>from both C++ and Scheme level (as well as their creation from the
bowels of the respective engraver types) are quite straightforward to
deploy and debug and don't rely on all the C level macro hackery.
That sounds like a great thing. Like so much of your work, it makes a
huge difference in maintainability and future development. Maybe not so
much difference in the current function (perhaps none at all), but a huge
difference in going forward. We are so fortunate to have you working on
this kind of thing.
So in short, I've been tending the most important resource a good
programmer should have in his possession: the wastebasket. And I expect
people to ultimately be glad about all the code I have thrown away once
I get to throwing away the current code we work with.
I'm looking forward to having you throw away some code and replace it with
much more easily-maintained and -extended code.
Thanks for your hard work!
Carl
_______________________________________________
lilypond-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-devel