William ML Leslie writes: > Actually, I should clarify a few things, but this discussion probably > belongs on guile-user.
I realise that now, reading below... > Whenever the documentation says 'may', it really means it. You > absolutely cannot rely on the side-effecting behaviour, because an > implementation that does no mutation whatsoever is a valid > implementation of (take!), according to the documentation. All you're > saying by using (take!) is, if it is more efficient to do so by > altering the list, then please do. Thank you for this clue-bat. Wow, I never realised that !/_x is only a performance/ugliness thingy, except when used with set!. I somehow assumed `!' meant: will alter in-place. My bad. Is there really a good reason for exposing such performance considerations to the user; can't the compiler [often] tell whether it's safe to modify in place? Greetings, Jan -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.nl