Previous Contents Next
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.


Copyright (C) 1999,2000 Daniel Diaz

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

More about the copyright
Previous Contents Next