pelemay v0.0.5 Optimizer
Provides a optimizer for AST
Link to this section Summary
Functions
Input is one expression
Input is some expresions
Input is one funcion definition
Input is a term
Optimize funcions which be enclosed defptermay
, using optimize_***
function.
Input is funcion definitions.
Link to this section Functions
Link to this function
optimize_expr(expr)
Input is one expression:
quote do
twice = list |> Enum.map(&(&1*2))
end
Link to this function
optimize_exprs(exprs)
Input is some expresions:
quote do
twice = list |> Enum.map(&(&1*2))
twice |> Enum.map(&(&1+1))
end
Link to this function
optimize_func(ast)
Input is one funcion definition:
quote do
def twice_plus(list) do
twice = list |> Enum.map(&(&1*2))
twice |> Enum.map(&(&1+1))
end
end
Link to this function
parallelize_term(term, options)
Input is a term:
quote do: list
quote do: list
quote do: Enum.map(&(&1*2))
Link to this function
replace(definitions, caller)
Optimize funcions which be enclosed defptermay
, using optimize_***
function.
Input is funcion definitions.
quote do
def twice_plus(list) do
twice = list |> Enum.map(&(&1*2))
twice |> Enum.map(&(&1+1))
end
def foo, do: "foo"
end