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, Mar 23 2016, 15:58:54.