erl_internal(3)

MODULE
erl_internal - Internal Erlang Definitions

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) -> bool()

    Types
        Name = atom()
        Arity = integer()

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

guard_bif(Name, Arity) -> bool()

    Types
        Name = atom()
        Arity = integer()

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

type_test(Name, Arity) -> bool()

    Types
        Name = atom()
        Arity = integer()

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

builtins() -> BIFs

    Types
        BIFs = [{atom(), integer()}]

    Returns a list of all the Erlang BIFs which are automatically recognized by the compiler.

arith_op(OpName, Arity) -> bool()

    Types
        OpName = atom()
        Arity = integer()

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

bool_op(OpName, Arity) -> bool()

    Types
        OpName = atom()
        Arity = integer()

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

comp_op(OpName, Arity) -> bool()

    Types
        OpName = atom()
        Arity = integer()

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

list_op(OpName, Arity) -> bool()

    Types
        OpName = atom()
        Arity = integer()

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

send_op(OpName, Arity) -> bool()

    Types
        OpName = atom()
        Arity = integer()

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

op_type(OpName, Arity) -> Type

    Types
        OpName = atom()
        Arity = integer()
        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.

AUTHOR
Robert Virding - rv@erix.ericsson.se