View Source erl_internal (stdlib v6.0)

Internal Erlang definitions.

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

Summary

Functions

Adds to Forms the code for the standard pre-defined functions (such as module_info/0) that are to be included in every module.

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

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

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

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

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

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

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

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

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

Functions

Link to this function

add_predefined_functions(Forms)

View Source (since OTP 20.0)
-spec add_predefined_functions(Forms) -> UpdatedForms
                            when
                                Forms :: [erl_parse:abstract_form() | erl_parse:form_info()],
                                UpdatedForms ::
                                    [erl_parse:abstract_form() | erl_parse:form_info()].

Adds to Forms the code for the standard pre-defined functions (such as module_info/0) that are to be included in every module.

-spec arith_op(OpName, Arity) -> boolean() when OpName :: atom(), Arity :: arity().

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

-spec bif(Name, Arity) -> boolean() when Name :: atom(), Arity :: arity().

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

-spec bool_op(OpName, Arity) -> boolean() when OpName :: atom(), Arity :: arity().

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

-spec comp_op(OpName, Arity) -> boolean() when OpName :: atom(), Arity :: arity().

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

-spec guard_bif(Name, Arity) -> boolean() when Name :: atom(), Arity :: arity().

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

-spec list_op(OpName, Arity) -> boolean() when OpName :: atom(), Arity :: arity().

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

-spec op_type(OpName, Arity) -> Type
           when 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.

-spec send_op(OpName, Arity) -> boolean() when OpName :: atom(), Arity :: arity().

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

-spec type_test(Name, Arity) -> boolean() when Name :: atom(), Arity :: arity().

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