% Since Prova 1.9.
% The example shows that when the last literal in a clause
%    contains an Equality (=) followed by a variable or a Java constant, which is then followed by
%    a Prova fact, the previous version of Prova assumed that thst fact was part of a functional Java
%    call continuing the last literal in the previous clause.
% Since 1.9, in order to avoid this incorrect parsing, it is recommended and in fact required that
%    new goals, clauses, and facts be started on a new line.     
 
:- solve(ex055(I)).

ex055(I) :-
	println([ok]),
	I=System.out.
ex055(System.in).

% Prints the following (note that the precise addresses of System.in and System.out may differ):
% ok
% I=java.io.PrintStream@763f5d
% I=java.io.BufferedInputStream@186768e
