[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scheme function
From: |
David Kastrup |
Subject: |
Re: scheme function |
Date: |
Thu, 20 Dec 2018 13:02:22 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Gianmaria Lari <address@hidden> writes:
> %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
Uh, there is a difference between \markup and \mark . Once you fixed
that, your counter will be reset to 0 for each invocation of the
function. You need
nextcount =
#(let ((counter 0))
(define-scheme-function ...
instead.
--
David Kastrup