Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> writes: > On 03/06/12 14:17, David Kastrup wrote: >> How about first getting C++/Scheme right? As I already explained, >> cleaning up the mess of layers and control flow will >> >> a) give a better basis for judging that approach >> b) make it easier to migrate individual layers to something else if >> desired > > Don't get me wrong; I'm not proposing a rewrite on the spot or even in > the near future. It's just that if there _is_ at some point a desire > to consider a bottom-up rebuild with a new language or framework, D is > probably one to take seriously, as it offers the power and flexibility > of LISP and functional languages while having a very friendly and > usable syntax. > > But in the short term at least, I completely agree with you about > getting the C/Scheme combo right (if I understood your earlier email > correctly, the desire is to remove as much C++ as possible).
I don't want to remove "as much C++ as possible". That's about as useful as to remove "as much C as possible" from Emacs. The point is to consider C++ as the building language for primitives, and tie together the primitives in Scheme. At the current point, most of the control flow is inaccessible from the Scheme layer. That's not helpful for extending, and it is not helpful for understanding LilyPond from a user perspective. The C++ layer most certainly is important as underpinnings, but you can't understand LilyPond from the Scheme perspective because not just functionality/performance but also logic and control flow is tied to a large degree into that layer: you would not dare working with "call-with-current-continuation", and most of the time, the Scheme stacktrace (and debugger) is not significant for finding out what happens. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user