[ Predicate Database and Compiler | Reference Manual | Alphabetic Index ]
compiled_stream(-Stream)
Succeeds if the I/O stream currently being compiled is Stream.
- Stream
- Atom, stream handle or variable.
Description
Used to find the stream that is currently being compiled.
The stream handle can be used to get other information about the source
being compiled, e.g. file name and position. If nothing is currently being
compiled, or if a non-textual source is being compiled (compile_term/1,2),
this predicate fails.
compiled_stream/1 is meaningful mainly in queries inside a compiled
file, or in event handlers for compilation events.
Modes and Determinism
- compiled_stream(-) is semidet
Fail Conditions
Fails if no compilation from a stream is currently active
Exceptions
- (5) type error
- Stream is instantiated, but not to an atom or stream handle.
Examples
[eclipse]: [user].
a.
:- compiled_stream(S), get_stream_info(S, name, File),
printf("Compiling stream %d, file %s\n", [S, File]).
Compiling stream 0, file user
^D
user compiled traceable 28 bytes in 0.00 seconds
yes.
[eclipse]: exec('cat a.pl', []).
a.
:- compiled_stream(S), get_stream_info(S, name, File),
printf("Compiling stream %d, file %s\n", [S, File]).
yes.
[eclipse]: [a].
Compiling stream 5, file /home/joe/a.pl
a.pl compiled traceable 28 bytes in 0.00 seconds
yes.
See Also
compile / 1, compile / 2, compile_stream / 1