[gambit-list] strange results using values

Christian Jaeger 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 mailing list