lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changed behaviour of 'split-at' with guilev2


From: David Kastrup
Subject: Re: Changed behaviour of 'split-at' with guilev2
Date: Sun, 14 Oct 2018 11:56:33 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> Hi,
>
> I stumbled across different behaviour of 'split-at' in guilev1/2. Doing
> (define (foo) (write (split-at '(1 2 3) 1)))
> (foo)
> returns
> in guilev1
> #<values ((1) (2 3))>
> in guilev2 only
> (1)

I rather think that Guilev2 just deals a bit differently with multiple
values, dropping additional values in scheme-only contexts with
single-value takers like `write'.

> (define (buzz-II)
>   (let-values (((x y) (split-at '(1 2 3) 1)))
>     (list x y)))
>
> Actually we use split-at two times in our source
> (1) In 'split-at-predicate' from lily-library.scm
> There the method using call-with-values is already in work.
> (2) In 'insert-lyrics*!' from song.scm
> This should probably be fixed as well. Or is it already?

It uses receive, which uses call-with-values.

> I don't understand what's it's all about there. Ok, we have some
> regtests about this (and the derived 'festival'), so I my educated
> guess would be: it has to do with xml...
> But there is _no_ documentation at all, as far as I can tell.
> I'm at a loss with this :(

I vaguely seem to remember that it was stuff in/for the toolbox of a
user with impaired sight, but I haven't really the foggiest in what
respect.  Maybe it was for having a speech synthesizer sing lyrics from
a score?  I'd imagine this to be of slightly appalling appeal.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]