[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] multiple values module



An hour and a half ago, John Cowan wrote:
> Eli Barzilay scripsit:
> 
> > IMO implementations that do some half-baked reification of
> > multiple values as first-class values are broken.  Things like
> > (list (values 1 2) 3) or (define x (values 1 2)) should throw an
> > error.
> 
> Well, you can write a conformant implementation that does so.

And that's very unfortunate.  Things like (list (values 1 2) 3) are
nonsensical when you talk about their *meaning*, because values are
not *specified* as things that are reified as first class values.
Either way (specifying such a reification or making it behave like
multiple values) is far better than the neither-here-nor-there mess.


> Or you can have one that does it CL-style.

Specifically for CL, the choice was for the latter, which is
completely different from:

> Or you can use a unique type, or even a non-unique type. [...]
> Chibi's use cases just aren't anything like Racket's.

How is Racket related to anything I've said?

IMO, the above examples are things that don't make sense, just like

    (define (foo x)
      ;; this function always returns 3...?
      (length (call-with-values (lambda () (list x 1 2)) list)))

not returning 3.  In this implementation, (car (values)) becomes a
dangerous implementation-exposing value.


> Ultimately, if you want R6RS, you know where to find it.

Why the inferiority complex?  Did I mention R6RS, or more generally
*any* standard?

This is the kind of childish reply that makes r7rs look like a
childish response to r6rs.  Coming from the chairman of wg2 makes this
kind of response worse.


> Here's the total implementation: [...]  Completely conformant.

And once you've fixated into that complex, you just continue with it
not looking left or right.  Here's a list of words that were not used
in my post:

  * R5RS
  * R6RS
  * R7RS
  * R[0-9]*RS
  * Standard
  * Conform.*

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

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