@Harm
I can't imagine how frustrating it must have been to try to upgrade from
1.8, ~5 years is so much time! Indeed, the changes from 1.8 to 2 must be
very deep...
Thank you for taking the time to explain that, I found it very interesting.


@Urs
I've thought about this some more. I don't know if you were interested in
wrapping the functions that use opts and props in a macro, but I noticed a
lot of redundancy so I gave it a try.

> \version "2.19.80"\include "oll-core/package.ily"
> #(define-macro (define-void-function-with-options vars preds rulings . body)
>    `(define-void-function ,(append '(opts) vars) ,(append '(ly:context-mod?) 
> preds)
>       (define rules
>         ,rulings)
>       (let ((props (context-mod->props rules #t opts)))
>         . ,body)))
>
> testRules =
> #(define-void-function-with-options () ()
>    `((ind ,number? 5)
>      (target ,symbol?)
>      (payload)
>      (accepted-arg ,fraction? opt)
>      (accepted-without-type opt)
>      (msg ,string? "No message given"))
>    (pretty-print props))
> \testRules \with {
>   msg = "Something"
>   unk = "Unknown option"
>   target = something%  accepted-arg = 7/4
> %  accepted-without-type = #(ly:make-moment 3/16)}
>
> Again, tell me if you find it convenient.

2018-03-08 20:26 GMT-03:00 Thomas Morley <thomasmorle...@gmail.com>:

> 2018-03-08 23:46 GMT+01:00 Stefano Troncaro <stefanotronc...@gmail.com>:
>
> > @David, Harm
> > I didn't know 1.8 was not maintained anymore. I imagine we're still
> using it
> > because updating it would take a lot of work (and create instability) and
> > dev time is better placed elsewhere, or something among those lines, am I
> > right?
>
> Well, guilev2 is deeply different from guilev1 in many ways.
> David K may say more about the details or look into the archives.
> After guille-2.0 was released we were not able to build LilyPond with
> guilev2 for 5(?) years !
>
> I'm now can build LilyPond from the git-repository with guile-2.2.3 in
> a local branch.
> Though, I need to apply several patches mostly from David K and
> Antonio Ospite and I need to disable some functionality, which I don't
> know to fix.
> My kowledge of C++ is more or less zero...
>
>
> From a users point of view the biggest disadvantage is the speed of
> lilypond.
> I think guile-2.0.12 was the first guile-version which could be made
> work for us. Lilypond speed was down to a _factor_ of 5-10, iirc
> Admittedly things improved during further guile-development.
>
> I'm not sure how the values are nowadays, I should redo testings...
>
> For the programmers David may want to chime in.
> I'd like to mention only to major points:
> - Encoding problems
> - We have no infrastructure for precompiled .go-files.
>
> Both or mostly beyond my knowledge :(
>
> > Also, Harm, is that guilev2-lilypond that you named v2.21.0 a
> > personal thing or is it something that is coming after the stable 2.20
> > release is done?
>
> I compile lilypond from the repository. Doing it from master will
> result in 2.21.0.
> The branch stable/2.20 is meant to become the next stable release.
> Current devel-versions are compiled from this branch iirc.
>
> Best,
>   Harm
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to