A macro is used to define variables or procedures , to allow code reuse , or to design domain-specific languages . A macro is used to define variables or procedures , to allow reuse of code , or to design domain-specific languages .