| S.K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Technical Report, University of Arizona, 1993. |
....clauses using templates and partial evaluation using macros. Similar translations, i.e. compilation of committed choice languages into Prolog, have been investigated before, be it translating GHC [UeCh85] implementations of delay declarations [Nai85] or the efficient implementation of QD Janus [Deb93]. Today, we benefit from more powerful programming constructs, in particular customizable suspension mechanisms provided by attributed variables. The remaining issues to be addressed with CHR are multiple head constraints and propagation rules. 3.1 Parsing Using the appropriate operator ....
S. K. Debray, QD-Janus : A Sequential Implementation of Janus in Prolog, Software---Practice and Experience, Volume 23, Number 12, December 1993, pp. 1337-1360.
....L. Naish which have been translated into SICStus. nand.pl (a nand gate circuit designer written by E. Tick) and transp.pl (a matrix transposer written by V. Saraswat) are programs with dynamic scheduling resulting from the automatic translation of concurrent logic programs by the QD Janus system [10]. Dynamic scheduling is used to emulate the concurrency present in the original programs. The programs send.pl (a cryptoarithmetic problem) and queens.pl (a coroutining n queens) were provided by M. Carlsson. Finally primes.pl (a lazy primes sieve) and permcon.pl (a monotonic permutation ....
S.K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Software- Practice and Experience, 23(12):1337--1360, 1993.
....method, which they call weak suspension analysis, might be called a sufficient demand analysis. It identifies sufficient input to a goal that will allow the goal to execute to completion without suspending. Thus, the sense of this analysis s safety requirement is dual to our own. In another paper [10] Debray presents an analysis which he calls a demand analysis for the concurrent constraint language, QD Janus. In contrast with our, 20 this is a local demand analysis that considers only the guards of each clause to determine how much input is necessary to enable a goal to reduce. This analysis ....
S. K. Debray. QD-Janus: A sequential implementation of Janus in Prolog. Software Practice and Experience, 23(12):1337--1360, 1993.
....a committed choice language, in a CLP language without guards. Such translations have been investigated before, i.e. compilation of matching in committed choice languages, L. Naish s successive implementations of delaying declarations [Nai85] S. K. Debray s efficient implementation of QD Janus [Deb93] in Prolog. The translation proposed in this section is based on ideas of Joachim Schimpf and is geared towards ECL i PS e and the actual implementation. It requires that the CLP language is equipped with a delay mechanism. A delay mechanism can be implemented in any logic programming language ....
S. K. Debray, QD-Janus : A Sequential Implementation of Janus in Prolog, Software---Practice and Experience, Volume 23, Number 12, December 1993, pp. 1337-1360.
....a general purpose abstract machine to serve as a compilation target for a variety of languages. As mentioned before this is precisely one of the objectives of the CIAO system. Encouraging initial results in this direction have been demonstrated in the sequential context by the QD Janus system [12] of S. Debray and his group. QD Janus, which compiles down to Sicstus Prolog and uses the delay primitives of the Prolog system to implement dataflow synchronization, turns out to be more than three times faster, on the average, than Kliger s customized implementation of FCP( 23] and requires ....
S. K. Debray. Qd-janus : A sequential implementation of janus in prolog. Software---Practice and Experience, 23(12):1337--1360, December 1993.
....these languages are built on top of constraint systems, which can be made as expressive as desired, and they have very fine grained concurrency, so compositionality is achieved without effort. Recently, several concrete general purpose programming languages have been implemented in this paradigm [Deb93,JH91,SHW94] Concurrent Constraint Programming (cc) languages are declarative concurrent languages, where each construct is a logical formula. cc replaces the traditional notion of a store as a valuation of variables with the notion of a store as a constraint on the possible values of variables. ....
Saumya K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Software---Practice and Experience, 23(12):1337--1360, December 1993.
....tests can be performed as soon as they become testable and failure can be detected early. Delay mechanism also makes it possible to implement sound versions of negation and arithmetic [12] In addition, it has been used to implement various constraint solvers [7, 10] and concurrent languages [6]. The efficiency of delay depends to a large extent on the following four basic operations: delay, wakeup, interrupt, and resume. The delay operation delays a predicate call when the call satisfies a delay condition. The wakeup operation is executed when some variables in a delayed call are bound. ....
Debray, S.K.: QD-Janus: A Sequential Implementation of Janus in Prolog, Software - Practice and Experience, 23:1361-1377, 1993.
....are that they use a committed choice non determinism when choosing which rule to reduce an atom with, and they have no fixed underlying scheduling rule. However, one of the most promising methods for the implementation of concurrent languages is to compile them into logic languages with delay [9]. Our analysis method can, of course, be used to optimize the resulting code. The main use of our analysis framework is to give information about calling patterns. For atoms which do not delay, even in the presence of delayed atoms which may be awoken, the framework gives very precise information. ....
S.K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Technical Report, University of Arizona, 1993.
....constraints so as to allow them to run both forwards and backwards. This set includes fac (factorial) fib (Fibonacci) and mortgage. The programs in the third set are programs with dynamic scheduling resulting from the automatic translation of concurrent logic programs by the Qd Janus system [5]. Dynamic scheduling is used to emulate the concurrency present in the original programs. This set includes nand (a nand gate circuit designer, written by E. Tick) and transp (matrix transposer, written by V. Saraswat) The Qd Janus compiler already performs analysis and optimization of its input ....
S. K. Debray. QD-Janus : A Sequential Implementation of Janus in Prolog. Software---Practice and Experience, 23(12):1337--1360, December 1993.
.... several reimplementations and improvements, the last one being [FrBr95a] Similar translations, i.e. compilation of committed choice languages, have been investigated before, be it translating GHC [UeCh85] implementations of delay declarations [Nai85] or the efficient implementation of QD Janus [Deb93]. Today, we benefit from more powerful programming constructs, in particular customizable suspension mechanisms provided by attributed variables [Neu90, Hui90, Hol92] The most recent implementation of CHR exists in the form of a SICStus Prolog library module [HoFr98a] Overview of this Paper We ....
S. K. Debray, QD-Janus : A Sequential Implementation of Janus in Prolog, Software---Practice and Experience, Volume 23, Number 12, December 1993, pp. 1337-1360.
....by means of program transformation from CC to CLP, achieving in addition an efficient parallelization of concurrent goals. In order to do this the intended target language should allow delay features able to support concurrency. The basic idea is related to the approach of [BGH93] and QD Janus [Deb93]. However, we propose to perform a more intelligent transformation (see also [BGH93] which is based on the results of the analysis performed over the CC program. Let us illustrate our approach with the append3 4 example of Section 5. Assume the following query: tell(W= 1] ....
S.K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Technical Report, University of Arizona, 1993.
No context found.
S.K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Technical Report, University of Arizona, 1993.
No context found.
S. K. Debray. QD-Janus : A Sequential Implementation of Janus in Prolog. Software---Practice and Experience, 23(12):1337--1360, December 1993.
No context found.
S.K. Debray. QD-Janus: A Sequential Implementation of Janus in Prolog. Technical Report, University of Arizona, 1993.
No context found.
S. K. Debray, QD-Janus : A Sequential Implementation of Janus in Prolog, Software - Practice and Experience, Vol. 23, Number 12, December 1993, pp 13371360.
No context found.
S.K. Debray, QD-Janus: a sequential implementation of Janus in Prolog, Software-Practice and Experience, Vol. 23(12), December 1993.
No context found.
S.K. Debray, QD-Janus: a sequential implementation of Janus in Prolog, Software-Practice and Experience, Vol. 23(12), December 1993.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC