Re: [Scheme-reports] multiple values module Eli Barzilay (20 May 2011 07:08 UTC)
Re: [Scheme-reports] multiple values module John Cowan (20 May 2011 16:02 UTC)
Re: [Scheme-reports] multiple values module Andy Wingo (20 May 2011 16:04 UTC)
Re: [Scheme-reports] multiple values module John Cowan (20 May 2011 19:48 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (20 May 2011 19:50 UTC)
Re: [Scheme-reports] multiple values module Emmanuel Medernach (21 May 2011 06:43 UTC)
Re: [Scheme-reports] multiple values module Andy Wingo (21 May 2011 08:49 UTC)
Re: [Scheme-reports] multiple values module John Cowan (21 May 2011 17:50 UTC)
Re: [Scheme-reports] multiple values module Andy Wingo (22 May 2011 14:05 UTC)
Re: [Scheme-reports] multiple values module Emmanuel Medernach (24 May 2011 07:06 UTC)
Re: [Scheme-reports] multiple values module John Cowan (24 May 2011 16:08 UTC)
Re: [Scheme-reports] multiple values module Emmanuel Medernach (24 May 2011 17:06 UTC)
Re: [Scheme-reports] multiple values module Aaron W. Hsu (24 May 2011 18:54 UTC)
Re: [Scheme-reports] multiple values module Per Bothner (24 May 2011 23:26 UTC)
Re: [Scheme-reports] multiple values module John Cowan (24 May 2011 21:20 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (24 May 2011 21:26 UTC)
Re: [Scheme-reports] multiple values module John Cowan (24 May 2011 21:37 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (24 May 2011 21:41 UTC)
Re: [Scheme-reports] multiple values module Aaron W. Hsu (25 May 2011 03:41 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (25 May 2011 06:42 UTC)
Re: [Scheme-reports] multiple values module Andy Wingo (21 May 2011 08:42 UTC)
Re: [Scheme-reports] multiple values module Aaron W. Hsu (20 May 2011 16:27 UTC)
Re: [Scheme-reports] multiple values module Alex Shinn (20 May 2011 16:54 UTC)
Re: [Scheme-reports] multiple values module Andy Wingo (20 May 2011 16:57 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (20 May 2011 17:47 UTC)
Re: [Scheme-reports] multiple values module John Cowan (20 May 2011 20:38 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (21 May 2011 02:03 UTC)
Re: [Scheme-reports] multiple values module John Cowan (21 May 2011 05:11 UTC)
Re: [Scheme-reports] multiple values module Eli Barzilay (21 May 2011 05:04 UTC)
Re: [Scheme-reports] multiple values module John Cowan (21 May 2011 18:43 UTC)
Re: [Scheme-reports] multiple values module Andre van Tonder (21 May 2011 19:49 UTC)
Re: [Scheme-reports] multiple values module John Cowan (21 May 2011 20:49 UTC)

Re: [Scheme-reports] multiple values module Per Bothner 24 May 2011 23:25 UTC

On 05/24/2011 11:54 AM, Aaron W. Hsu wrote:
> On Tue, 24 May 2011 13:04:21 -0400, Emmanuel Medernach
> <emmanuel.medernach@gmail.com>  wrote:
>
>> Indeed, but in (foo X Y) I would not allow the evaluation of expression
>> X to interfere with Y : if X is (values X1 X2) and Y is (values), foo
>> could mislead X1 with X and X2 with Y as in some implementation. I mean
>> doesn't the report has to specify that evaluation of X has to be bound
>> to X only ?
>
> Indeed, how many implementation contain this semantics? Is it a semantics
> that is justified or should we clarify the language to not permit values
> passed to one continuation to "infect" another continuation? I'm of a mind
> that this sort of requirement would be a good thing.

I think the above semantics does make for a powerful and useful language.
The XQuery language has shown the power of using "sequences", which are
like lists, except they don't nest, and a sequence of length 1 is equivalent
to the single item in that list.  Note this is similar is multiple values,
in that (values x)===x.  If you combine that with the idea of function
application taking a sequence of values, then you get some neat synergies.
In my Q2 language I've been playing with these ideas.

My biggest concern with such a semantics is how error-prone this would be:
Such semantics might easy hide programmer errors and confusion.  Inlining
and other optimization might be also be more difficult.  Both of these
concerns should be less in a language with some kind of static
type-checking,
but for a traditional Scheme it's probably not a good idea.

Still, I think it's an interested concept, worth exploring - but in the
context of designing a new sequence-based language, not Scheme.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports