Version: 1.5#118 (2000/4/19, 18:13:43 CEST)
The Ciao system provides builtin predicates which allow dealing with names of constants (atoms or numbers). As an atom name must be of less than 512 characters, to handle sequences of more characters, strings (character code lists) must be used.
atomic_basic
)atomic_basic
)
name(Const,String)
String
is the list of the ASCII codes of the characters comprising the name of Const
. Note that if Const
is an atom whose name can be interpreted as a number (e.g. '96'), the predicate is not reversible, as that atom will not be constructed when Const
is uninstantiated. Thus it is recommended that new programs use the ISO-compliant predicates
atom_codes/2
or
number_codes/2
, as these predicates do not have this inconsistency.
Usage 2: name(-(constant),+string)
String
can be interpreted as a number, Const
is unified with that number, otherwise with the atom whose name is String
.
Usage 3:
String
is a string (a list of character codes).
(basic_props:string/1
)
Const
is an atomic term (an atom or a number).
(basic_props:constant/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Usage 4:
String
can be interpreted as a number, Const
is unified with that number, otherwise with the atom whose name is String
.
Const
is a free variable.
(term_typing:var/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Const
is an atomic term (an atom or a number).
(basic_props:constant/1
)
atom_codes(Atom,String)
String
is the list of the ASCII codes of the characters comprising the name of Atom
.
Usage 3: * ISO *
String
is a string (a list of character codes).
(basic_props:string/1
)
Atom
is an atom.
(basic_props:atm/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Usage 4: * ISO *
Atom
is a free variable.
(term_typing:var/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Atom
is an atom.
(basic_props:atm/1
)
number_codes(Number,String)
String
is the list of the ASCII codes of the characters comprising a representation of Number
.
Usage 3: * ISO *
String
is a string (a list of character codes).
(basic_props:string/1
)
Number
is a number.
(basic_props:num/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Usage 4: * ISO *
Number
is a free variable.
(term_typing:var/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Number
is a number.
(basic_props:num/1
)
number_codes(Number,String,Base)
String
is the list of the ASCII codes of the characters comprising a representation of Number
in base Base
.
Usage 3:
String
is a string (a list of character codes).
(basic_props:string/1
)
Number
is a number.
(basic_props:num/1
)
Base
is an integer.
(basic_props:int/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Usage 4:
Number
is a free variable.
(term_typing:var/1
)
String
is a string (a list of character codes).
(basic_props:string/1
)
Base
is an integer.
(basic_props:int/1
)
Number
is a number.
(basic_props:num/1
)
atom_length(Atom,Length)
Length
is the number of characters forming the name of Atom
.
Usage 2: * ISO *
Length
is an integer.
(basic_props:int/1
)
Atom
is an atom.
(basic_props:atm/1
)
Length
is an integer.
(basic_props:int/1
)
atom_concat(Atom_1,Atom_2,Atom_12)
Atom_12
is the result of concatenating Atom_1
followed by Atom_2
.
Usage 1: atom_concat(+atom,+atom,?(atom))
* ISO *
Usage 2: atom_concat(-(atom),-(atom),+atom)
* ISO *
Usage 3: atom_concat(-(atom),+atom,+atom)
* ISO *
Usage 4: atom_concat(+atom,-(atom),+atom)
* ISO *
Usage 5: * ISO *
Atom_12
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_1
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_2
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_12
is currently instantiated to an atom.
(term_typing:atom/1
)
Usage 6: * ISO *
Atom_1
is a free variable.
(term_typing:var/1
)
Atom_2
is a free variable.
(term_typing:var/1
)
Atom_12
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_1
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_2
is currently instantiated to an atom.
(term_typing:atom/1
)
Usage 7: * ISO *
Atom_1
is a free variable.
(term_typing:var/1
)
Atom_2
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_12
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_1
is currently instantiated to an atom.
(term_typing:atom/1
)
Usage 8: * ISO *
Atom_1
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_2
is a free variable.
(term_typing:var/1
)
Atom_12
is currently instantiated to an atom.
(term_typing:atom/1
)
Atom_2
is currently instantiated to an atom.
(term_typing:atom/1
)
sub_atom(Atom,Before,Length,Sub_atom)
Sub_atom
is formed with Length
consecutive characters of Atom
after the Before
character.
Usage 2:
Sub_atom
is an atom.
(basic_props:atm/1
)
Atom
is an atom.
(basic_props:atm/1
)
Before
is currently instantiated to an integer.
(term_typing:integer/1
)
Length
is currently instantiated to an integer.
(term_typing:integer/1
)
Sub_atom
is an atom.
(basic_props:atm/1
)
Go to the first, previous, next, last section, table of contents.