This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Multiple Values in Kawa


Per, Jens,

Thanks for the e-mails, the references, and the background information. It looks from Per's comments as if the multiple values question may be a timely one, so I would like to pursue the subject one step further.

Given that Kawa is pretty effective for prototyping and that the Common Lisp handling of multiple values provides a significant increment of prototyping capability, it seems to me that it would be worth trying to make the Common Lisp functionality available in Kawa Scheme. This doesn't necessarily mean that it should be a default. The crucial consideration is that, if I modify an existing function to return multiple values when it previously returned a single one, all existing calls on the modified function should continue to work as before without any code changes (thus, let-binding to capture the first value is not a preferred solution). Without any knowledge of the implementation, it seems that it might be possible to add a form similar to "values", perhaps named "optional-values" or "ignorable-values", that would explicitly call for the Common Lisp functionality in the code of the function that is returning the multiple values, which is already necessarily undergoing change in the prototyping scenario. This would allow people who prefer to use strict-checking functionality to use "values", and those who prefer flexibility to use the new form. If this is feasible, it seems that it might satisfy all the requirements and do so without foreclosing sequence functionality in XQuery.

Nigel Dolby.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]