object

# `reader`

Predicates for reading text file and text stream contents to lists of terms, characters, or character codes.

Author: Paulo Moura
Version: 1.0
Date: 2019/2/26
Compilation flags:
`static, context_switching_calls`

(no dependencies on other entities)

## Public interface

### `file_to_codes/2`

Reads a text file into a list of character codes.

Compilation flags:
`static`
Template:
`file_to_codes(File,Codes)`
Mode and number of proofs:
`file_to_codes(+atom,-list(character_code))` - `one`

### `file_to_codes/3`

Reads a text file into a list of character codes. The list is terminated by the given tail.

Compilation flags:
`static`
Template:
`file_to_codes(File,Codes,Tail)`
Mode and number of proofs:
`file_to_codes(+atom,-list(character_code),@term)` - `one`

### `file_to_chars/2`

Reads a text file into a list of characters.

Compilation flags:
`static`
Template:
`file_to_chars(File,Chars)`
Mode and number of proofs:
`file_to_chars(+atom,-list(character))` - `one`

### `file_to_chars/3`

Reads a text file into a list of characters. The list is terminated by the given tail.

Compilation flags:
`static`
Template:
`file_to_chars(File,Chars,Tail)`
Mode and number of proofs:
`file_to_chars(+atom,-list(character),@term)` - `one`

### `file_to_terms/2`

Reads a text file into a list of terms.

Compilation flags:
`static`
Template:
`file_to_terms(File,Terms)`
Mode and number of proofs:
`file_to_terms(+atom,-list(term))` - `one`

### `file_to_terms/3`

Reads a text file into a list of terms. The list is terminated by the given tail.

Compilation flags:
`static`
Template:
`file_to_terms(File,Terms,Tail)`
Mode and number of proofs:
`file_to_terms(+atom,-list(term),@term)` - `one`

### `stream_to_codes/2`

Reads a text stream into a list of character codes. Does not close the stream.

Compilation flags:
`static`
Template:
`stream_to_codes(Stream,Codes)`
Mode and number of proofs:
`stream_to_codes(+stream_or_alias,-list(character_code))` - `one`

### `stream_to_codes/3`

Reads a text stream into a list of character codes. Does not close the stream. The list is terminated by the given tail.

Compilation flags:
`static`
Template:
`stream_to_codes(Stream,Codes,Tail)`
Mode and number of proofs:
`stream_to_codes(+stream_or_alias,-list(character_code),@term)` - `one`

### `stream_to_chars/2`

Reads a text stream into a list of characters. Does not close the stream.

Compilation flags:
`static`
Template:
`stream_to_chars(Stream,Chars)`
Mode and number of proofs:
`stream_to_chars(+stream_or_alias,-list(char))` - `one`

### `stream_to_chars/3`

Reads a text stream into a list of characters. Does not close the stream. The list is terminated by the given tail.

Compilation flags:
`static`
Template:
`stream_to_chars(Stream,Chars,Tail)`
Mode and number of proofs:
`stream_to_chars(+stream_or_alias,-list(char),@term)` - `one`

### `stream_to_terms/2`

Reads a text stream into a list of terms. Does not close the stream.

Compilation flags:
`static`
Template:
`stream_to_terms(Stream,Terms)`
Mode and number of proofs:
`stream_to_terms(+stream_or_alias,-list(term))` - `one`

### `stream_to_terms/3`

Reads a text stream into a list of terms. Does not close the stream. The list is terminated by the given tail.

Compilation flags:
`static`
Template:
`stream_to_terms(Stream,Terms,Tail)`
Mode and number of proofs:
`stream_to_terms(+stream_or_alias,-list(term),@term)` - `one`

### `line_to_codes/2`

Reads a line from a text stream into a list of codes. Discards the end-of-line codes. Unifies Codes with end_of_file at the end of the file.

Compilation flags:
`static`
Template:
`line_to_codes(Stream,Codes)`
Mode and number of proofs:
`line_to_codes(+stream_or_alias,-list(character_code))` - `zero_or_one`

### `line_to_codes/3`

Reads a line from a text stream into a list of codes. Keeps the end-of-line marker normalized to the line feed control character. The list is terminated by the given tail, which is unified with the empty list at the end of the file.

Compilation flags:
`static`
Template:
`line_to_codes(Stream,Codes,Tail)`
Mode and number of proofs:
`line_to_codes(+stream_or_alias,-list(character_code),?term)` - `zero_or_one`

## Protected interface

(none)

## Private predicates

(none)

## Operators

(none)

## Remarks

(none)