# erl_internal

### MODULE

erl_internal

### MODULE SUMMARY

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`.

`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.

### AUTHORS

Robert Virding - support@erlang.ericsson.se

stdlib 1.14
Copyright © 1991-2006 Ericsson AB