[racket] Splicing `values' in-place

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Jul 13 11:07:00 EDT 2013

Two days ago, Jay McCarthy wrote:
> On Thu, Jul 11, 2013 at 1:52 PM, Stephan Houben <stephanh42 at gmail.com> wrote:
> > Hi Jay,
> >
> > So what about keyword return values?  Both because of symmetry and
> > because getting three return values straight is just as hard as
> > getting three arguments straight.
> 
> That's old news:
> 
> https://github.com/jeapostrophe/exp/blob/master/values.ss
> 
> FWIW, keywords aren't built-in in Racket for function calls, so this
> approach to them in function returns *is* symmetric.

IIRC, when the then-new keywords where added Matthew had a concrete
way to wrap continuations so that things would be symmetric again, but
I think that practicalities wo and he preferred to avoid the cost.
(Either a run-time cost, or making things complicated.)

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

Posted on the users mailing list.