DESCRIPTION

This module defines Erlang BIFs, guard tests and operators. This module is only of interest to programmers who manipulate Erlang code.

EXPORTS


bif(Name, Arity) -> boolean()

Types:

Name = atom()

Arity = arity()

Returns true if Name/Arity is an Erlang BIF which is automatically recognized by the compiler, otherwise false.


guard_bif(Name, Arity) -> boolean()

Types:

Name = atom()

Arity = arity()

Returns true if Name/Arity is an Erlang BIF which is allowed in guards, otherwise false.


type_test(Name, Arity) -> boolean()

Types:

Name = atom()

Arity = arity()

Returns true if Name/Arity is a valid Erlang type test, otherwise false.


arith_op(OpName, Arity) -> boolean()

Types:

OpName = atom()

Arity = arity()

Returns true if OpName/Arity is an arithmetic operator, otherwise false.


bool_op(OpName, Arity) -> boolean()

Types:

OpName = atom()

Arity = arity()

Returns true if OpName/Arity is a Boolean operator, otherwise false.


comp_op(OpName, Arity) -> boolean()

Types:

OpName = atom()

Arity = arity()

Returns true if OpName/Arity is a comparison operator, otherwise false.


list_op(OpName, Arity) -> boolean()

Types:

OpName = atom()

Arity = arity()

Returns true if OpName/Arity is a list operator, otherwise false.


send_op(OpName, Arity) -> boolean()

Types:

OpName = atom()

Arity = arity()

Returns true if OpName/Arity is a send operator, otherwise false.


op_type(OpName, Arity) -> Type

Types:

OpName = atom()

Arity = arity()

Type = arith | bool | comp | list | send

Returns the Type of operator that OpName/Arity belongs to, or generates a function_clause error if it is not an operator at all.