[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] multiple values module
On Wed, 25 May 2011 11:07:25 -0400, Eli Barzilay <eli@x> wrote:
> 15 minutes ago, Alex Shinn wrote:
>> It was known behavior, left in place mostly because I didn't
>> actually care Any Scheme that behaves like Chibi in this case can
>> be fixed with: [...] The actual fix in Chibi was just one line,
> The question is still open, AFAICT: is the pre-fix problem something
> that is fine to have in an r5/7rs? According to John, your bug fix
> was not needed.
From my reading of the R5RS, I concur with John that the original behavior
of Chibi was not breaking compliance with the standard. That is, R5RS and
R6RS both allow implementations to do *whatever* they want if a
continuation expecting a single value receives more than one value. I also
agree that the approach taken by Chibi to use a tagged list to reify the
values into a single value is broken, but not because the standard says
so. I would like the standard to make it clear that this behavior is a
bug, or is broken, according to the standard.
There are currently three tickets related to cleaning up multiple values.
One relates to using the R6RS' wording for non-tail contexts for
continuations. The second, if approved, would explicitly disallow
reification of multiple values to anything other than a disjoint "multiple
values" record or container of some sort. The other is a ticket for trying
to approach this problem from another angle.
See tickets #174, #194, and #193 for more.
If #194 ticket is approved (given the contention on this issue, I have my
doubts), then Chibi's reification of the values into a type that can be
confused with others, thus allowing something like (list? (values 1 2 3))
to return #t, would be disallowed, but internal reification into something
that doesn't expose itself or explicit expose reification into a disjoint
type would be allowed. This would basically allow all the major
implementation strategies currently in use right now except for Chibi's,
which reifies them to lists.
Aaron W. Hsu
Programming is just another word for the lost art of thinking.
Scheme-reports mailing list