Previous Next Contents

6.15  Input/output from/to constant terms

These built-in predicates enable a Prolog term to be input from or output to a Prolog constant term (atom, character list or character code list). All these predicates can be defined using constant term streams (section 6.11). They are however simpler to use.

6.15.1  read_term_from_atom/3, read_from_atom/2, read_token_from_atom/2

Templates

read_term_from_atom(+atom ?term, +read_option_list)
read_from_atom(+atom, ?term)
read_token_from_atom(+atom, ?nonvar)
Description

Like read_term/3, read/2 (section 6.14.1) and read_token/2 (section 6.14.3) except that characters are not read from a text-stream but from Atom; the atom given as first argument.

Errors


Atom is a variable    instantiation_error

Atom is neither a variable nor an atom    type_error(atom, Atom)

see associated predicate errors    (section 6.14.1) and (section 6.14.3)


Portability

GNU Prolog predicates.

6.15.2  read_term_from_chars/3, read_from_chars/2, read_token_from_chars/2

Templates

read_term_from_chars(+character_list ?term, +read_option_list)
read_from_chars(+character_list, ?term)
read_token_from_chars(+character_list, ?nonvar)
Description

Like read_term/3, read/2 (section 6.14.1) and read_token/2 (section 6.14.3) except that characters are not read from a text-stream but from Chars; the character list given as first argument.

Errors


Chars is a partial list or a list with an element E which is a variable    instantiation_error

Chars is neither a partial list nor a list    type_error(list, Chars)

an element E of the Chars list is neither a variable nor a character    type_error(character, E)

see associated predicate errors    (section 6.14.1) and (section 6.14.3)


Portability

GNU Prolog predicates.

6.15.3  read_term_from_codes/3, read_from_codes/2, read_token_from_codes/2

Templates

read_term_from_codes(+character_code_list ?term, +read_option_list)
read_from_codes(+character_code_list, ?term)
read_token_from_codes(+character_code_list, ?nonvar)
Description

Like read_term/3, read/2 (section 6.14.1) and read_token/2 (section 6.14.3) except that characters are not read from a text-stream but from Codes; the character code list given as first argument.

Errors


Codes is a partial list or a list with an element E which is a variable    instantiation_error

Codes is neither a partial list nor a list    type_error(list, Codes)

an element E of the Codes list is neither a variable nor an integer    type_error(integer, E)

an element E of the Codes list is an integer but not a character code    representation_error(character_code, E)

see associated predicate errors    (section 6.14.1) and (section 6.14.3)


Portability

GNU Prolog predicates.

6.15.4  write_term_to_atom/3, write_to_atom/2, writeq_to_atom/2,
write_canonical_to_atom/2, display_to_atom/2, print_to_atom/2,
format_to_atom/3

Templates

write_term_to_atom(?atom, ?term, +write_option_list)
write_to_atom(?atom, ?term)
writeq_to_atom(?atom, ?term)
write_canonical_to_atom(?atom, ?term)
display_to_atom(?atom, ?term)
print_to_atom(?atom, ?term)
format_to_atom(?atom, +character_code_list_or_atom, +list)
Description

Similar to write_term/3, write/2, writeq/2, write_canonical/2, display/2, print/2 (section 6.14.6) and format/3 (section 6.14.7) except that characters are not written onto a text-stream but are collected as an atom which is then unified with the first argument Atom.

Errors


Atom is neither a variable nor an atom    type_error(atom, Atom)

see associated predicate errors    (section 6.14.6) and (section 6.14.7)


Portability

GNU Prolog predicates.

6.15.5  write_term_to_chars/3, write_to_chars/2, writeq_to_chars/2,
write_canonical_to_chars/2, display_to_chars/2, print_to_chars/2,
format_to_chars/3

Templates

write_term_to_chars(?character_list, ?term, +write_option_list)
write_to_chars(?character_list, ?term)
writeq_to_chars(?character_list, ?term)
write_canonical_to_chars(?character_list, ?term)
display_to_chars(?character_list, ?term)
print_to_chars(?character_list, ?term)
format_to_chars(?character_list, +character_code_list_or_atom, +list)
Description

Similar to write_term/3, write/2, writeq/2, write_canonical/2, display/2, print/2 (section 6.14.6) and format/3 (section 6.14.7) except that characters are not written onto a text-stream but are collected as a character list which is then unified with the first argument Chars.

Errors


Chars is neither a partial list nor a list    type_error(list, Chars)

see associated predicate errors    (section 6.14.6) and (section 6.14.7)


Portability

GNU Prolog predicates.

6.15.6  write_term_to_codes/3, write_to_codes/2, writeq_to_codes/2,
write_canonical_to_codes/2, display_to_codes/2, print_to_codes/2,
format_to_codes/3

Templates

write_term_to_codes(?character_code_list, ?term, +write_option_list)
write_to_codes(?character_code_list, ?term)
writeq_to_codes(?character_code_list, ?term)
write_canonical_to_codes(?character_code_list, ?term)
display_to_codes(?character_code_list, ?term)
print_to_codes(?character_code_list, ?term)
format_to_codes(?character_code_list, +character_code_list_or_atom, +list)
Description

Similar to write_term/3, write/2, writeq/2, write_canonical/2, display/2, print/2 (section 6.14.6) and format/3 (section 6.14.7) except that characters are not written onto a text-stream but are collected as a character code list which is then unified with the first argument Codes.

Errors


Codes is neither a partial list nor a list    type_error(list, Codes)

see associated predicate errors    (section 6.14.6) and (section 6.14.7)


Portability

GNU Prolog predicates.




Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

More about the copyright
Previous Next Contents