Subject: Re: multiple-value binding let and let*
From: Erik Naggum <>
Date: 1999/08/19
Newsgroups: comp.lang.lisp
Message-ID: <>

* 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?

  (defun pringles (chips)
    (loop (pop chips)))