@dyn function name(...) ... end
Generates a macro
@name that resolves default arguments and declared
@requires in the calling scope.
Local variables that are provided by this function to inner dynamic functions should be declared with
@provides to stop them from bubbling up. Function parameters are provided automatically.
The order of
@provides matters, so that a function can both provide and declare a variable. For example in the case of
a=a+2. The exception is that the first
@requires overrides variables provided by function arguments. For example in the case of
function foo(a=a+2); @requires a
Declare variables that are provided to dynamic calls
Declare variables that are expected from the calling scope