[gambit-list] strange results using values
christian at pflanze.mine.nu
Mon Sep 22 11:55:20 EDT 2008
Arthur Smyles wrote:
> My use case for using 'values' is to pass a primary value and secondary values to a caller. If the caller can only use one value then I want it to use the primary value and discard the secondary values. So what I would like to see is:
> (if (values #f #f) #t #f) => #f
> since the primary value is false and the 'if' function can only use the primary value.
> As it stands now, as a caller of an api that uses 'values', I'd have to deal with it as a specialized data structure, in which case, the utility of it is very limited since I could just as well pass a vector or some other structure.
> I think the above semantics could be implemented and still be R5 compliant.
I've once written a response to someone posting this as bug in bugzilla:
I.e. I personally still think the "take first value if continuation only
expects one value" approach is a bad idea.
If you're really wanting to see that behaviour, maybe you could describe
the reasons in more detail and think about the issues I've lined out
above; maybe there is a way to achieve both.
More information about the Gambit-list