[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
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports