Periodically I spend some time on lilypond/scheme hoping to understand a
bit more how use them together. This is what I these days.

I tried to write in different way the function nextcount that return a
number, as a string, increased by one each time you call it.


%standard version

\version "2.19.82"
#(define nextcount
   (let  ((counter 0))
     (lambda ()
       (set! counter (1+ counter))
       (number->string counter))))

\markup #(nextcount)
\markup #(nextcount)

Alternate version


%alternate version
\version "2.19.82"
nextcount =
  #(let  ((counter 0))
     (lambda ()
       (set! counter (1+ counter))
       (number->string counter)))

\markup #(nextcount)
\markup #(nextcount)


I would like to know if it is possible to write it using
define-scheme-function. This is what I tried that does not compile.

\version "2.19.82"
nextcount =
  #(define-scheme-function () ()
     (let  ((counter 0))
     (lambda ()
       (set! counter (1+ counter))
       (number->string counter)
       )
     ))

\mark \nextcount
\mark \nextcount


Thank you, g.
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to