The standard I/O streams (input, output, and error)
are hookable, i.e. the streams can be redefined by the user by
calling SP_set_user_stream_hook() and/or
SP_set_user_stream_post_hook().
These hook functions must be called before SP_initialize()
(see Initializing the Prolog Engine).
In custom built systems, they may be called in
the hook function SU_initialize(). See The Application Builder.