[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Proposal #13: Structure Sharing in Arguments
Well, OK, if calling APPLY on a rest-arg really is not as rare as I
thought because of applications like the one you describe, then maybe it
is important to allow implementations to skip the copying in this case.
We are then left with something like Guy's rule: In general, it is not
safe to do destructive operations on a list unless you know where it
came from and who else might be holding on to it. A list obtained as a
rest arg is just one of the cases you have to copy before mashing, and
when in doubt you have to copy. Something like this rule probably needs
to be stated explicitly anyway, since some people seem to assume that it
is OK to bash lists unless you can prove that it isn't OK.