kaushik@cpsc.ucalgary.ca (Vinit Kaushik) (02/17/90)
Hi. I am doing my MSc in the area of temporal logic programming. So far I have implemented logical interval-arithmetic for a Prolog interpreter we have here; this was done in Scheme. With this as a basis, an interpreter for a new logic programming language called Starlog (designed by John Cleary) is going to be implemented. Starlog is Prolog-like. It differs from standard Prolog in the following ways:- [1] User-defined predicates make use of timestamps to aid their computation in terms of clarity and efficiency. Time in Starlog is linear, real (hence, infinite) and bounded on both sides of the total ordering. Starlog supports only future-directed reasoning. [2] Program interpretation is done bottom-up via least fixpoint computation. The explicit timestamps on user-defined predicates are used to schedule clause execution. [3] All arithmetic variables (including the timestamps) are internally represented as intervals of real numbers. Order-independence of goals and prevention of (precision) error propagation are achieved by using logical interval-arithmetic. [4] Optimistic distributed or-parallel execution is envisaged based on ideas of virtual time (D.R. Jefferson). I am currently looking for literature/code regarding available temporal/constraint-based languages. Any references/suggestions would be most welcome. Vinit Kaushik (kaushik@cpsc.UCalgary.CA)
jwmills@iuvax.cs.indiana.edu (Jonathan Mills) (02/19/90)
In article <2512@cs-spool.calgary.UUCP> kaushik@cpsc.ucalgary.ca (Vinit Kaushik) writes: > I am currently looking for literature/code regarding available >temporal/constraint-based languages. Any references/suggestions would be >most welcome. > A definitive implementation of an intensional logic programming language is described in William Mitchell's master's thesis: "Intensional Horn Clause Logic as a Programming Language - Its Use and Implementation" done at Arizona State University in 1988 under Tony Faustini. The language, InTense is "...similar to Prolog, but based on Horn clause logic augmented with multiple dimensions of temporal and spatial intensions..." This work is based on earlier work on the Lucid language (Ashcroft, Wadge & Faustini), which led to a temporal logic programming language called Chronolog. I have been told that Bill Wadge's student, Mehmet Orgun, has defined the semantics of Chronolog and InTense in his Ph.D. dissertation, done at the University of Victoria in British Columbia. InTense has its foundation in the intensional logic of Richard Montague, and a semantics explainable in terms of Kripke's possible worlds. Horn clauses in InTense have temporal and spatial contexts associated with them, which are specified using indexical prefixes to predicates. Temporal prefixes are: prev, first, and next. Spatial prefixes are: prior, initial, and rest. Logical variables are "wrapped" in the context of the predicate in which they are used, and not explicitly associated with possible worlds. InTense does provide an "alias" operator to create new indexical prefixes, allowing a style of programming similar to that used in Lucid. I have a version of InTense given to me by Bill Mitchell, it does work, but is rather slow. On the other hand, the concepts are very elegant, and the continued improvements in Lucid argue that efficient implementations are possible. Requests for the InTense interpreter can be directed to me, and I'll forward them to Faustini. Or you can try directly: faustini@asuvax.eas.asu.edu
ok@goanna.oz.au (Richard O'keefe) (02/20/90)
In article <36219@iuvax.cs.indiana.edu>, jwmills@iuvax.cs.indiana.edu (Jonathan Mills) writes: > In article <2512@cs-spool.calgary.UUCP> kaushik@cpsc.ucalgary.ca (Vinit Kaushik) writes: > > I am currently looking for literature/code regarding available > >temporal/constraint-based languages. Any references/suggestions would be > >most welcome. There is (or at any rate, was) a project at the London School of Economics under Ronald Stamper working on a language for expressing legislation and business rules. The language is called LEGOL. Some of the people at Imperial College explored the relationship between LEGAL and Prolog. If you look back through the last 10 years of The Computer Journal you should find a couple of papers on LEGOL.