# `Beaver.Pattern`

Beaver pattern DSL for MLIR, a PDL frontend in Elixir.

# `attribute`
*macro* 

# `attribute`
*macro* 

# `create_operation`

The difference between a pdl.operation creation in a match body and a rewrite body:
- in a match body, `pdl.attribute`/`pdl.operand`/`pdl.result` will be generated for unbound variables
- in a rewrite body, all variables are considered bound before creation pdl ops

# `defpat`
*macro* 

# `eval_rewrite`

Evaluate SSA as ops in a rewrite block. Note that function is only public so that it could be used in a AST.

# `replace`
*macro* 

# `rewrite`
*macro* 

# `type`
*macro* 

# `type`
*macro* 

# `value`
*macro* 

