The new function and procedure pragmas are great and fun (ha), and I’ve been experimenting around with them until I reached this:
\function AddTwo(number)
[<number>add[2]]
\end
\function Multiply(number1, number2)
[<number1>multiply<number2>]
\end
<<AddTwo 2>> == 4
<<Multiply 4 4>> == 16
<<Multiply <<AddTwo 2>> 4>> == 0
This happens because the call interpreted entire <<AddTwo 2>> as a single string, which gets converted to 0.
I’ve tried several variations like <<Multiply [[<<AddTwo 2>>]] 4>>, but I was unable to get it to work as I wanted (where the output of AddTwo is input into Multiply's parameter).
How could you make this work? I bet you could do something with the $transclude widget, but that’s considerably more clunky to use imo.