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

Re: [Scheme-reports] "unspecified values"

On Fri 20 May 2011 17:46, John Cowan <cowan@x> writes:

> Andy Wingo scripsit:
>> I think that Per is saying that if `set!' returns no values, then
>> there is nothing for P to ignore.
> Sure.  But "making the REPL nicer" is not an argument in favor of set!
> returning no values, as the REPL can be just as nice when set! returns a
> (distinguished) value.

I don't know why you insist on this being a *good* strategy, besides
being an allowable one.

For example with this repl:

  (define (repl read eval print)
    (let loop ()
      (call-with-values (lambda () (eval (read)))
        (lambda vals
          (for-each print vals)

What does it mean to return three distinguished unspecified values?
Surely it's different than returning one.  Yet the user won't know in
such a system.  (Incidentally Guile is such a system.)


Scheme-reports mailing list