Cairo Macros

Explain Cairo declarative macros, macro hygiene, and macro vs function tradeoffs; use when a request involves writing or understanding `macro` definitions in Cairo.

teddyjfpender b10d8b6 2 files · 1.5 KB Updated

File contents

Cairo Macros

Overview

Explain declarative (inline) macros, pattern matching, and hygiene in Cairo.

Quick Use

  • Read references/macros.md before answering.
  • Show a small macro definition with pattern and expansion.
  • Mention $defsite, $callsite, and expose! 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?"

teddyjfpender/skill-issues/tree/main/skills/cairo-macros commit b10d8b6f36

Frequently asked questions

npx skillmds@latest add teddyjfpender/cairo-macros