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

Reply via email to