# `ExAST.Sigil`
[🔗](https://github.com/elixir-vibe/ex_ast/blob/v0.11.0/lib/ex_ast/sigil.ex#L1)

Provides the `~p` sigil for compile-time pattern parsing.

    import ExAST.Sigil

    ~p"IO.inspect(expr, ...)"
    ~p"def foo(_) do ... end"
    ~p"{:ok, result}"

The sigil parses the pattern string at compile time into an AST,
avoiding runtime parsing overhead. The result can be passed to
any function that accepts a pattern.

# `sigil_p`
*macro* 

Parses a pattern string into AST at compile time.

## Examples

    iex> import ExAST.Sigil
    iex> ~p"IO.inspect(_)"
    {{:., [line: 1], [{:__aliases__, [line: 1], [:IO]}, :inspect]}, [line: 1], [{:_, [line: 1], nil}]}

---

*Consult [api-reference.md](api-reference.md) for complete listing*
