object

# `atom`

Atom data type predicates.

Author: Paulo Moura
Version: 1.7
Date: 2019/1/8
Compilation flags:
`static, context_switching_calls`
Extends:
`public` atomic
Remarks:
(none)

- Public predicates

  - `replace_sub_atom/4`

  - `split/3`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `replace_sub_atom/4`

Replaces all occurences of `Old` by `New` in `Input` returning `Output`. Returns `Input` if `Old` is the empty atom. Fails when `Output` does not unify with the resulting atom.

Compilation flags:
`static`
Template:
`replace_sub_atom(Old,New,Input,Output)`
Mode and number of proofs:
`replace_sub_atom(+atom,+atom,+atom,?atom)` - `zero_or_one`

### `split/3`

Splits an atom at a given delimiter into a list of sub-atoms.

Compilation flags:
`static`
Template:
`split(Atom,Delimiter,SubAtoms)`
Mode and number of proofs:
`split(+atom,+atom,-list(atom))` - `one`

## Protected predicates

(see entity ancestors)

## Private predicates

(see entity ancestors)

## Operators

(none)