[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