back

by lerno·1y ago·view on hn ↗
All macros are hygienic. However, you can pass in a lazy expression which then is evaluated in its original context.

The macro cannot insert variables into the caller scope, nor cause the function to return. Mostly it's similar to a static inline function with optionally polymorphic arguments. But it can do some more things as well, but nothing violating hygiene.