ExAST.Sigil (ExAST v0.11.0)

Copy Markdown View Source

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.

Summary

Functions

Parses a pattern string into AST at compile time.

Functions

sigil_p(arg, modifiers)

(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}]}