Internal Erlang definitions.
This module defines Erlang BIFs, guard tests, and operators. This module is only of interest to programmers who manipulate Erlang code.
Functions
add_predefined_functions(Forms) -> UpdatedForms
Forms = [erl_parse:abstract_form() | erl_parse:form_info()]
UpdatedForms =
[erl_parse:abstract_form() | erl_parse:form_info()]
Adds to
the code for the standard
pre-defined functions (such as module_info/0
) that are
to be included in every module.
arith_op(OpName, Arity) -> boolean()
OpName = atom()
Arity = arity()
Returns true
if
is an arithmetic operator, otherwise false
.
bif(Name, Arity) -> boolean()
Name = atom()
Arity = arity()
Returns true
if
is an Erlang BIF that is automatically recognized by the compiler,
otherwise false
.
bool_op(OpName, Arity) -> boolean()
OpName = atom()
Arity = arity()
Returns true
if
is a Boolean operator, otherwise false
.
comp_op(OpName, Arity) -> boolean()
OpName = atom()
Arity = arity()
Returns true
if
is a comparison operator, otherwise false
.
guard_bif(Name, Arity) -> boolean()
Name = atom()
Arity = arity()
Returns true
if
is
an Erlang BIF that is allowed in guards, otherwise false
.
list_op(OpName, Arity) -> boolean()
OpName = atom()
Arity = arity()
Returns true
if
is a list operator, otherwise false
.
op_type(OpName, Arity) -> Type
OpName = atom()
Arity = arity()
Type = arith | bool | comp | list | send
Returns the
of operator that
belongs to,
or generates a function_clause
error if it is not an
operator.
send_op(OpName, Arity) -> boolean()
OpName = atom()
Arity = arity()
Returns true
if
is a send operator, otherwise false
.
type_test(Name, Arity) -> boolean()
Name = atom()
Arity = arity()
Returns true
if
is
a valid Erlang type test, otherwise false
.