Compatible support for multiple values in SRFI-45 Mark H Weaver 23 Mar 2013 08:56 UTC
Here's another approach to supporting multiple values in SRFI-45, which will most likely be deployed in Guile 2.0.8. In this approach, 'eager' remains a procedure, but one that accepts any number of arguments. It is therefore used in the same way as 'values'. This approach has the benefit of full compatibility with existing code that uses SRFI-45. Furthermore, the attached patch maintains _binary_ compatibility  with code that was compiled for the unmodified SRFI-45 reference implementation (a requirement for inclusion in the Guile 2.0 stable series): although the 'delay' macro has changed, code that was expanded using the old 'delay' macro will continue to work properly with the new procedures. Comments and suggestions welcome. Regards, Mark  Assuming that neither 'eager' nor 'force' are inlined in the compiled code.