Le 29 août 09 à 06:56, David Kastrup a écrit :
Carl Sorensen <c_soren...@byu.edu> writes:
On Aug 28, 2009, at 1:16 PM, "Nicolas Sceaux"
<nicolas.sce...@free.fr>
wrote:
According to R5RS, it is an error to modify a literal list.
If a function returns '(), the caller won't be allowed to
apply a modifying function on the result (eg. append!)
IIUC, '() is not a literal list, but a constant that represents the
empty list.
It is a literal list in my opinion, but one that happens to have no
unique and/or modifiable conses. Append will work just fine on it.
However, guile does not report modifying a literal list as an error,
and actually modifies it, so this is somewhat rhetorical.
It is not rhetorical since a modified literal list will actually stay
modified when you call the function the next time. Can't happen with
'() though.
You're right on both points! thanks.
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel