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).
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.
I'll give it a look.
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.
Agree about architecture being the priority. I can make no promises as my
LP-wards free time is sporadic, but I would like to assist here if I can.
That said, I didn't make the language suggestion casually. One of the issues
with Scheme is that although it's powerful it's also an unfamiliar and
not-so-easy-to-grasp scripting syntax when compared with the languages lots of
people are familiar with. D has the advantage of being high-performance (as
fast as C/C++ in my experience), having a syntax which is easy to switch to from
C/C++/Java/C#/etc., but also having the functional/LISP-like constructs needed
by LilyPond.
It would be a major breaking change, though, so not to be done without very
careful consideration.
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user