[plt-scheme] Please help test version 359.100
My reading indicates they would both be legal.
What seems to be illegal is
(for-each (lambda (x) (values x x)) (list 1))
-->
(values 1 1)
Robby
At Mon, 13 Nov 2006 21:39:11 -0500, Matthias Felleisen wrote:
> I don't think this is relevant. The true question is whether
>
> (+ (for-each add1 '()) (for-each sub1 '()))
>
> steps to
>
> (+ some-value some-value)
>
> or to
>
> (+ some-value some-different-value)
>
> I believe that the second one is the case already. -- Matthias
>
>
> On Nov 13, 2006, at 6:52 PM, Jacob Matthews wrote:
>
> > On Nov 13, 2006, at 5:31 PM, Robby Findler wrote:
> >
> >> Is "some object" allowed to be multiple values or not? That text
> >> suggests not.
> >
> > "Types are associated with values (also called objects) rather than
> > with variables" (section 1.1) seems to be the only definition of
> > what an 'object' is. I think it's clear that they are saying that
> > values are also called objects, and that by the normal rules of
> > English we can conclude that the singular 'object' means the same
> > thing as the singular 'value'. So the question becomes, are
> > multiple values the same thing as a single value? The report seems
> > to think not (I'm going here by the descriptions of the values and
> > call-with-values functions in section 6.4), though it plays its
> > usual trick of simply not defining what happens if a context
> > expects a single value and it receives multiple ones.
> >
> > Applying this back to the original question, I think we have to
> > conclude that for-each is supposed to be able to be called in
> > contexts that expect exactly one value. In Schemes like PLT Scheme
> > where contexts that expect one value signal an error if they
> > receive some other number, then it's a violation of R5RS for for-
> > each to behave the way 359.100 did; but for Schemes like Bigloo
> > that have coercion rules that take a multi-value return to a single-
> > value context, it's not a violation.
> >
> > -jacob
> >
> > (I actually wrote up a version of this before and then deleted it,
> > thinking it was too technical for anybody to care about ... looks
> > like I was wrong. :) )