Next: , Previous: , Up: mpg-bpr   [Contents][Index]


11.3.127 name/2   deprecated

Synopsis

name(+Constant, -Codes)

name(-Constant, +Codes)

Codes is the list consisting of the codes comprising the printed representation of Constant.

Arguments

Constant

atomic

Codes

codes

Description

Initially, either Constant must be instantiated to a number or an atom, or Codes must be instantiated to a proper codes.

If Codes is instantiated to a proper codes that corresponds to the correct syntax of a number, then Constant will be unified with that number.

Else if Codes is instantiated to a proper codes, then Constant will be unified with the atom containing exactly those characters.

Else, Constant should be instantiated to a number or atom, and Codes will be unified with the codes that make up its printed representation.

There are atoms for which name(Constant,Codes) is true, but which will not be constructed if name/2 is called with Constant uninstantiated. One such atom is the atom '1976'. It is recommended that new programs use atom_codes/2 or number_codes/2, as these predicates do not have this ambiguity.

This predicate has been marked as deprecated since there are other, better and standard-conforming alternatives. However, we do not plan to remove it.

Exceptions

instantiation_error

Constant is uninstantiated and Codes is not instantiated enough

type_error

If Constant is a compound term

representation_error

An element of Codes is an invalid character code, or Codes is a list corresponding to a number or atom that can’t be represented

Examples

| ?- name(foo, L).

L = [102,111,111] 
| ?- name('Foo', L).

L = [70,111,111] 
| ?- name(431, L).

L = [52,51,49] 
| ?- name(X, [102,111,111]).

X = foo 
| ?- name(X, [52,51,49]).

X = 431 
| ?- name(X, "15.0e+12").

X = 1.5E+13

See Also

ref-lte-c2t.



Send feedback on this subject.