Now a function definition can be prefixed with 'macro ' (followed by space, not tab!) to create a macro instead of function.
Macro will use caller's scope for all variables except for parameters, function parameters will be resolved to local variables.
Dynamic variable references will also use caller's scope.
Global and static variables are not supported in macros.
Let me know what you think about it