On 03/10/2012 01:00 AM, Manu wrote:
On 10 March 2012 01:17, Timon Gehr <[email protected]
<mailto:[email protected]>> wrote:
On 03/10/2012 12:02 AM, Manfred Nowak wrote:
Manu wrote:
I'm just talking about the ABI for returning multiple
values, not
chaining
Does this mean, that you want a special type of "function"? For
example
this would be disallowed statement: `auto result= f( g(
parameters));',
if `f' and `g' are functions returning multiple values?
This needs to work. Multiple return values should integrate with the
existing language support for tuples.
What should that do exactly? A function that returns multiple values is
passed as an argument to another function... what exactly is fed to
which arguments of the outer function?
It would work like built-in tuples already do.
(int, int) foo(int a, int b){return (a,b);}
assert(foo(foo(foo(foo(1,2))))==(1,2));
(int, int) goo(int a, int b, int c){return (a+b, c);}
assert(goo(foo(2,3),1) == (5,1));
Describe how you see multiple return values working through tuples,
while satisfying the issues I raise in my first couple of posts?
I have done so in my other post, you may refer to that one if something
is still unclear: http://forum.dlang.org/post/[email protected]