Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!uakari.primate.wisc.edu!xanth!mcnc!thorin!surya!gupta From: gupta@surya.cs.unc.edu (Gopal Gupta) Newsgroups: comp.lang.prolog Subject: Re: different Prologs? Message-ID: <9908@thorin.cs.unc.edu> Date: 10 Oct 89 15:32:51 GMT References: <111000002@uxa.cso.uiuc.edu> Sender: news@thorin.cs.unc.edu Lines: 40 In article <111000002@uxa.cso.uiuc.edu>, ddgg0881@uxa.cso.uiuc.edu writes: > > > I have two questions about Prolog implementations: > > 1. ........ > > 2. I find reading text files very painful in Prolog because you > always have to keep a lookahead character. This way of doing things > doesn't feel like Prolog. One of the main selling points of Prolog > is the efficient way that it backtracks upon failure. Are there any > implementations of Prolog that allow 'get' or 'get0' to backtrack > and unread characters? We implemented a logic language with functional syntax called EqL that allows both backtrackable as well as non-backtrackable reads and writes. Thus, if computation fails over a backtackable read, the file pointer is set back accordingly (however, this is actually not how this was implemented). In case of backtrackable writes, for obvious reasons the data can be output to a file only after the query execution is over. The EqL interpreter (for a Sun or a Vax) and manual can be obtained by anonymous ftp from dopey.cs.unc.edu (Internet Addr. 128.109.136.82), if someone is interested. EqL is also compilable to DEC 3100s and Apollos. I vaguely remember some Prolog implementation also having backtrackable reads and writes but I can't recall the name right now. More knowledgable people in the net would perhaps know better. Regards. ------------------------------------------------ --Gopal Gupta, gupta@unc.cs.unc.edu Department of Computer Science, ..!decvax!mcnc!unc!gupta CB# 3175 Sitterson Hall, University of North Carolina , Chapel Hill, N.C. 27599-3175. U.S.A.