From ... From: Erik Naggum Subject: Re: multiple-value binding let and let* Date: 1999/08/19 Message-ID: <3144063865821902@naggum.no>#1/1 X-Deja-AN: 514708250 References: <3143984828088049@naggum.no> <3144039684834581@naggum.no> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; +1 510 435 8604; http://www.naggum.no Newsgroups: comp.lang.lisp * Tim Bradshaw | At the moment the scope of the declaration is entered, the | consequences are undefined if the value of the declared variable is | not of the declared type. | | And I think that's reasonably clear. well, it sort of depends on how you interpret "the value of a variable". I would argue that if a variable isn't actually accessed, neither does it have a value. I'm aware that the specification isn't fully with me on this one, but in my view, there's a distinction between A and B in this respect in the form (LET ((A NIL) B) ...), if for no other reason than that it communicates a different intent. in any case, when the behavior is undefined for value references, and there aren't any references, no undefined behavior will occur, right? #:Erik -- (defun pringles (chips) (loop (pop chips)))