SICStus Streams
   With the SICStus Prolog C interface, the user can define his/her own
streams as well as from C read or write on the predefined
streams.  The stream interface is modeled after Quintus
Prolog release 2.  It provides:
     
- C functions to perform I/O on Prolog streams.  This way you can
use the same stream from Prolog and C code.
     
 - User defined streams. You can define your own Prolog streams
in C.
     
 - Bidirectional streams. A SICStus stream supports reading or
writing or both.
     
 - Hookable standard input/output/error streams.