|
From: | Stefano Troncaro |
Subject: | Re: Having trouble understanding optional and variable amount of arguments |
Date: | Fri, 9 Mar 2018 01:16:42 -0300 |
Again, tell me if you find it convenient.\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) }
2018-03-08 23:46 GMT+01:00 Stefano Troncaro <address@hidden>:
> @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
[Prev in Thread] | Current Thread | [Next in Thread] |