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)

Re: [Scheme-reports] multiple values module Alex Shinn 25 May 2011 14:51 UTC

On Wed, May 25, 2011 at 10:08 AM, Andy Wingo <wingo@pobox.com> wrote:
>
> On Wed 25 May 2011 11:04, Eli Barzilay <eli@barzilay.org> writes:
>
>> Chibi's problem
>
> Is probably just a bug.  I'll assume that's the case; it was a good
> catch on your part.

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:

(define orig-call/cc call-with-current-continuation)

(define call-with-current-continuation
  (lambda (proc)
    (orig-call/cc
     (lambda (return) (proc (lambda args (return (apply values args))))))))

The actual fix in Chibi was just one line, which I
just pushed now since people are arguing about it,
and so you can now say Chibi's call/cc is 100%
R5RS compliant.

I didn't do this before because I hate MV with a
fiery passion.  I think it's a very natural and aesthetically
pleasing extension to the language that happens to
backfire, making the compiler, the runtime, and _all_
user code considerably more complex.  I originally
intended to join the WG with a primary goal of fighting
to remove MV with all my strength.  When I was made
the chair I had to give that up, because it was an
underdog goal to begin with and because I would no
longer have time.

Thus I will not go into specifics of why I think MV
is so horribly broken.

My compromise in Chibi was that I'd support MV only
if the core compiler never had to touch it.  A few
lines of Scheme in an easily replaced init file doesn't
bother me.  A single line of C or a single new type
would have been unacceptable.

--
Alex

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports