| eval/1 | Evaluate Body. |
| eval/2 | Evaluate Body, replacing occurrences of {call,M,F,A} and {var,N}. |
| free_vars/1 |
eval(Body::any()) -> any()
Equivalent to eval([], Body).
Evaluate Body. Occurrences of {call,M,F,A}
is replaced by the result of calling erlang:apply(M,F,A), and
occurrences of {var,Name} in Body are not substituted.
{call,M,F,A} are substituted as one would think:
depth first, left-to-right.
eval(PropList::[{atom(), any()}], Body::any()) -> any()
Evaluate Body, replacing occurrences of {call,M,F,A} and {var,N}.
Occurrences of {call,M,F,A} is replaced by erlang:apply(M,F,A), and
{var,Name} is replaced by the value with key Name in PropList.
Exceptions happening when calling erlang:apply/3 are not caught.
If Name is unbound i.e., Name does not appear in PropList or if
Name is not an atom, {var,Name} is unchanged.
{call,M,F,A} are substituted as one would think:
depth first, left-to-right.
free_vars(T) -> any()
Generated by EDoc