[racket] Multi-return Function Call

From: Danny Yoo (dyoo at cs.wpi.edu)
Date: Tue Feb 21 10:45:02 EST 2012

>  "It is possible to extend the basic notion of 'function call' to
>  allow functions to have multiple return points. This turns out to be
>  a surprisingly useful mechanism. This article conducts a fairly
>  wide-ranging tour of such a feature..."


Hmmm!  I haven't done a deep look into the paper, but if I understand
the basic idea, then Whalesong's implementation does a somewhat
analogous thing to efficiently support multiple-value-return.

Each return point has two targets to support a variation of the trick
used by Ashley and Dybvig (An Efficient Implementation of Multiple
Return Values in Scheme).  Returners get to dynamically choose to send
either to the single-value point, or the multiple-value point.


Posted on the users mailing list.