Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> writes: > On 30/05/12 02:12, Han-Wen Nienhuys wrote: >> One of the problems of LilyPond is that C++ had very poor support for >> things we desperately need: reflection, automatic memory management >> and callbacks. > > How about D? > > http://dlang.org/ > > This seems to me to be a great choice for much of LP's needs. C/C++ > like core syntax (you can write pretty much pure C when you need to > for specificity or efficiency), but with a much more elegant OO syntax > than C++; automatic memory management; support for LISP-like and > functional programming; much more readily suited for writing > multi-threaded code; ... > > Their string mixin concept looks like it might also be very useful for LP: > http://dlang.org/mixin.html
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 Take a look at Goops: it offers a lot of the things the C++ class system does, with reasonable performance and much better reflection and extensibility. I am currently working on moving the property/event system there, and one will have to see what the performance impact on that will be. It's all nice to throw all sort of language names into the ring, but as long as the architecture of LilyPond is one incoherent mess, porting it is not going to clean it up. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user