LET-VALUES concerns sperber@xxxxxx 14 Sep 1999 13:41 UTC

I'm a bit concerned about the syntax of LET-VALUES:

   (LET-VALUES (<formals> <expression>) <body>)
          Syntax
          <Formals> should be a formal arguments list as for a LAMBDA
          expression, cf section 4.1.4 of the R5RS.

This means

(let-values (a <expression a single value> )
  ...)

will bind A to a list containing the single value.  I believe this
will likely be a common mistake producing an unexpected result.

MzScheme's LET-VALUES requires <formals> to be parenthesized.

I personally think that, since (VALUES X) is equivalent to X, a single
name A should be equivalent to (A) in that position.

I would also like to see LET-VALUES allow more bindings to be
consistent with LET.  (Unfortunately, this pretty much requires there
being LET*-VALUES and LETREC-VALUES as well, again as in MzScheme.)

--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla