Re: [Scheme-reports] multiple values module
Andy Wingo
(25 May 2011 08:20 UTC)
|
Re: [Scheme-reports] multiple values module
Eli Barzilay
(25 May 2011 09:04 UTC)
|
Re: [Scheme-reports] multiple values module
Andy Wingo
(25 May 2011 10:09 UTC)
|
Re: [Scheme-reports] multiple values module Eli Barzilay (25 May 2011 10:34 UTC)
|
Re: [Scheme-reports] multiple values module
Eli Barzilay
(25 May 2011 12:02 UTC)
|
Re: [Scheme-reports] multiple values module
Alex Shinn
(25 May 2011 14:51 UTC)
|
Re: [Scheme-reports] multiple values module
Eli Barzilay
(25 May 2011 15:08 UTC)
|
Re: [Scheme-reports] multiple values module
Aaron W. Hsu
(25 May 2011 19:58 UTC)
|
Re: [Scheme-reports] multiple values module
Eli Barzilay
(26 May 2011 02:48 UTC)
|
Re: [Scheme-reports] multiple values module
Eli Barzilay
(26 May 2011 02:55 UTC)
|
Re: [Scheme-reports] multiple values module
Aaron W. Hsu
(26 May 2011 21:34 UTC)
|
25 minutes ago, Andy Wingo wrote: > > Chibi's problem > > Is probably just a bug. I'll assume that's the case; it was a good > catch on your part. If it is, that's good. I understood John as saying that it's fine as an r5rs implementation. (Specifically, he never referred to it as a bug.) > > Peter talked about chicken's behavior of dropping extra values but > > there's no reification; guile breaks (I*M*O) things further and > > reifies values but still respects the above > > Just to clarify: Guile does the Ashley/Dybvig thing (an additional > MV return address, and returns to that address expect N values on > the stack + number-of-values marker). For continuations created by > call-with-values, the correct number of values is required (or an > error is signalled). For implicitly single-valued continuations, > Guile truncates >1 values to 1 value, and (unlike Chicken) errors if > 0 values are returned. I should have clarified that this is the version I have installed (1.8.7), and thanks to your work I'm not surprised that things are better. > I think the R5RS wording is careful and correct. This boils down to interpreting the english wording of the document, which I'm probably bad at. What I understood from John is that chibi's current behavior (the one I demonstrated and the result that I got from it) is fine by R5RS. If you take it (chibi's behavior) as a bug that is *not* fine by R5RS, then we have two native speakers with different interpretations, which I take as buggy wording. If, OTOH, John agrees that the implementation is broken, then the implementation should not be used as an argument -- *unless* the goal is to lower the level of specification to the point where it is not considered a bug. (And given that you do consider it a bug, I assume that you're not in favor of lowering the specification like that.) But the "if you want R6RS you know where to find it", is -- still -- an inappropriate response in my opinion, since AFAICT none of this changed in R6RS. (I've even compared the texts side by side now, and the only difference I see is the omission of `call-with-values' as the only way to get a non-unary continuation, due to the addition of multiple values constructs, and to allowing any number of values in begin bodies; both are irrelevant for the post I made before that reply.) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _______________________________________________ Scheme-reports mailing list Scheme-reports@scheme-reports.org http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports