[r6rs-discuss] multiple values and mathematicians

Derick Eddington derick.eddington at gmail.com
Fri Feb 20 18:44:11 EST 2009


On Fri, 2009-02-20 at 16:28 -0600, Alan Watson wrote:
> > I want to return (values) when I really
> > don't want something to return any value in case it accidentally gets
> > used somewhere that takes a value.  I don't want the program to  
> > continue
> > with a value when it was supposed to get no value (because there was  
> > an
> > accident).
> 
> I am not suggesting prohibiting this behaviour.

Thank you for clarifying for me.

> I gave an example of an implementation of multiple values in terms of  
> other primitives that works in all circumstances in which the  
> behaviour is defined by the standard. In other circumstances,  
> implementations can do what they want. I am simply trying to  
> demonstrate that there is no need to clutter up the language with a  
> specification of multiple values; it can be pushed into the library  
> (like delay and force). You would not lose anything.

Pushing to a library makes sense.

Just to wrap it up, if:

On Thu, 2009-02-19 at 11:51 -0600, Alan Watson wrote:
> values: If values is called with one argument, return it. Otherwise, 
> wrap the arguments in a "values record".

and (values) returns a record, it's returning a value which is my
problem, so I wouldn't use an implementation that uses records, I'd use
a different one (provided natively by the Scheme system, I believe), and
they both would provide a similar library interface with `values'
behaviour differing where the standard allows.  Sounds good.  You might
even be able to use an implementation using records on a system that is
natively different...

Sorry for beating a dead horse.  I thought it jumped at me.

-- 
: Derick
----------------------------------------------------------------




More information about the r6rs-discuss mailing list