%% Copyright (c) 1991,1994,1995 by Carnegie Mellon University %% %% Copyright (c) 1994,1995 by AT&T Bell Laboratories %% %% Copyright (c) 1995,1996 by the University of Pennsylvania %% %% For information about the distributaion, copying, and modification %% %% of this software, please read the file COPYING located in the root %% %% directory of this distribnutaion. If you did not receive the file %% %% COPYING write to Philip Wickline at the address below. %% %% This program is distributed in the hope that it will be useful but %% %% WITHOUT ANY WARRANTY; without even the implied warranty of %% %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file %% %% COPYING for more details. %% %% For information about the structure of the Terzo lambdaProlog %% %% implementation, see the file src/README in this distribution. Please %% %% address any questions about this code or the Terzo lambdaProlog %% %% implementation to Philip Wickline at . %% %% Authors: Amy Felty %% %% Frank Pfenning %% %% Philip Wickline %% module System. accumulate Logicals, Exception, StreamIo, File, Magic, Eval, List, Control, Trace. type '=' A -> A -> o. infix '=' 4. X = X. % Universal printing type print string -> o. print X :- output std_out X. % Universal reading type read A -> o. read Y :- input_line std_in X, string_to_term X Y. type solve o -> o. solve G :- G. type not o -> o. % not G % Fails if G succeeds, and succeeds otherwise. not G :- solve G, !, fail. % ``solve G'' instead of G is critical! not G.