/**/ Define Rev(L) -- reverse a list
/**/ If len(L) < 2 Then Return L; EndIf;
/**/ M := Rev(Tail(L)); -- recursive function call
/**/ append(ref M, L[1]);
/**/ Return M;
/**/ EndDefine;
/**/ Rev([1,2,3,4]);
[4, 3, 2, 1]
---- mixing function/procedure returns is not allowed
-- /**/ Define AFailingExample(X)
-- /**/ If X=1 Then Return 123456;
-- /**/ Else Return; -- ..... --> !!! ERROR !!!
ERROR: Inside a function definition all Return statements must be
either with or without an expression
Else Return;
^^^^^^^
|