pelemay v0.0.11 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 defpelemay
, using optimize_***
function.
Input is funcion definitions.
Link to this section Functions
Link to this function
consist_alias(definitions, module)
Link to this function
consist_context(definitions)
Link to this function
extract_module_information(term, arg)
Link to this function
extract_module_informations(term, options)
Link to this function
generate_argument(other)
Link to this function
generate_arguments(arg1)
Link to this function
init(ast, module_info)
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(arg, options)
Input is a term:
quote do: list
quote do: Enum.map(&(&1*2))
Link to this function
replace(definitions, module)
Optimize funcions which be enclosed defpelemay
, 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
Link to this function