Cairo Macros
Overview
Explain declarative (inline) macros, pattern matching, and hygiene in Cairo.
Quick Use
- •Read
references/macros.mdbefore answering. - •Show a small
macrodefinition with pattern and expansion. - •Mention
$defsite,$callsite, andexpose!when hygiene matters.
Response Checklist
- •Explain that macros expand at compile time and can take variable arguments.
- •Note that macros must be defined or imported before use.
- •Use match-like patterns with
$()and repetition modifiers.
Example Requests
- •"How do I write an array-building macro?"
- •"What are $defsite and $callsite in Cairo macros?"
- •"When should I use a macro instead of a function?"