Xref: utzoo comp.lang.prolog:2393 comp.ai:6014 Path: utzoo!attcan!uunet!wuarchive!mailrus!iuvax!jwmills From: jwmills@iuvax.cs.indiana.edu (Jonathan Mills) Newsgroups: comp.lang.prolog,comp.ai Subject: Re: Information request for temporal languages. Keywords: Temporal Logic Programming, Interval Arithmetic. Message-ID: <36219@iuvax.cs.indiana.edu> Date: 18 Feb 90 18:14:25 GMT References: <2512@cs-spool.calgary.UUCP> Reply-To: jwmills@iuvax.cs.indiana.edu (Jonathan Mills) Organization: Indiana University, Bloomington Lines: 42 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