Jan Nieuwenhuizen <jann...@gnu.org> writes:

> Han-Wen Nienhuys writes:
>
>> Let me try to rephrase things: the more functionality is moved into
>> the Scheme layers, the less people you can find who are capable of
>> working on it.
>
> For me, the complexity of LilyPond itself outplays learning a new
> programming language by far.  Moreover, learning scheme has given me a
> very helpful and refreshing new perspective on programming.
>
> I'm wondering, do you think that learning a new language such as scheme
> would scare you away from hacking on LilyPond, if you discovered it?
>
>> Therefore, you should be careful with moving more and more code into
>> the Scheme layer.
>
> If the former hypothesis was true, then maybe.  Or maybe not -- most
> important is that things get better, simpler, easier to extend and
> change for the current hackers, imvho.

In my opinion, we have too many layers to keep track of for extensions.
The proper subdivision should be something like:

C++: functionality
Scheme: structure and control flow
LilyPond input language: "user interface" layer

The problem with LilyPond is that the C++ and Scheme layers don't really
have a proper separation of tasks, and so you can't escape either for
actually simple extensions.

I don't think it makes sense talking about different extension languages
before cleaning up our act regarding this division of tasks.  It is an
incremental task to turn the C++/Scheme threshold into something that
makes sense.  And one that would, once accomplished, greatly simplify a
full-blown conversion to a different extension language if it was still
deemed desirable.

-- 
David Kastrup


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to