|Did you know ...||Search Documentation:|
|prolog_stream.pl -- A stream with Prolog callbacks|
This library defines a Prolog stream that realises its low-level I/O with callbacks to Prolog. The library was developed to bind normal Prolog I/O to Pengines I/O. This type of I/O redirection is probably the primary use case.
Mode = writestream if data is available. String contains the (textual) data that is written to Stream. The callback is called if the buffer of Stream overflows, the user calls
flush_output(Stream)or Stream is closed and there is buffered data.
Mode == readstream to get new data. On success the stream extracts text from the provided Term. Term is typically a string, atom, code or character list. If term is not one of the above, it is handed to writeq/1. To signal end-of-file, unify stream with an empty text, e.g.,
The current implementation only deals with text streams. The
stream uses the
wchar_t encoding. The buffer size must be a
wchar_t, i.e., a multiple of four for portability.
The newline mode of the stream is
posix on all platforms,
disabling the translation
"\n" --> "\r\n".