2008-09-19

Deprecate return values?

Return value handling in imperative languages is really awkward.

In many you cannot have multiple return values. I propose a syntax for making in and out parameter handling symmetric:

(type1 in1, type2 in2) myFunction (type3 out1, type4 out2)
{
in1 in2 + =: out1;
}


whereas in function composition, all out parameters form the input parameters for the next function:

( ( in1, in2 )myFunction )myFunction2 =: res;



Read more!