[R6RS] multiple-value binding
dyb at cs.indiana.edu
dyb at cs.indiana.edu
Thu Mar 2 07:52:08 EST 2006
> > The syntax is not the same for single values. To bind a single value
> > with mvlet, you need to wrap the variable in parens, like this:
> >
> > (mvlet ([(x) e]) ---)
>
> That doesn't match my understanding of the syntax given for option 4:
Rats. I screwed up when I said "go with option 4". I meant "option 1".
Here's my proposal again, corrected.
Proposal: Go with option 1 and use the name mvlet rather than let-values.
This has three benefits. (1) The name of the let* version is obvious and
natural: mvlet*. (2) It addresses Anton's concern about "let-values"
being too long. (3) Because it's shorter, the transition from let
to mvlet is a tad bit easier, in that it's less likely to necessitate
reformatting. On the downside, "mvlet" isn't a legal Scrabble word,
and that will offend some people. Also, it does not completely eliminate
the discontinuity between let and multiple-value let.
That is, we keep let *as is* (to avoid gumming it up) and add a new form,
the "let-values" form we've been discussing as option 1, only call it
"mvlet".
I apologize for the confusion.
Kent
More information about the R6RS
mailing list