This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 532: Delaying multiple values shouldn't be undefined

2013-07-07 03:20:44
WG1 - Core
2013-05-13 18:17:14

Jörg F. Wittenberger posted to chicken-hackers:

I really don't like that the draft still leaves it undefined what the result of (force <promise>) is, if the promise returns multiple values. Force [and] delay are not that complicated to implement. The way the R7RS draft is now, one would still need to duplicate the definition in applications if one wanted to be sure that multiple values are ok.

Because multiple values are not first class, supporting this requires collecting the multiple values in a data structure such as a list, remembering that they are not really a list but multiple values, and then returning them as multiple values. You get no space benefit that way, and might as well put a call to call-with-values inside the delay.


The WG decided by unanimous consent to take no action on this ticket.