8 research outputs found
Fast Offline Partial Evaluation of Logic Programs
One of the most important challenges in partial evaluation is the design of automatic
methods for ensuring the termination of the process. In this work, we introduce sufficient
conditions for the strong (i.e., independent of a computation rule) termination and quasitermination
of logic programs which rely on the construction of size-change graphs. We
then present a fast binding-time analysis that takes the output of the termination analysis
and annotates logic programs so that partial evaluation terminates. In contrast to previous
approaches, the new binding-time analysis is conceptually simpler and considerably faster,
scaling to medium-sized or even large examples.
© 2014 Elsevier Inc. All rights reserved.This work has been partially supported by the Spanish Ministerio de Ciencia e Innovacion under grant TIN2008-06622-C03-02 and by the Generalitat Valenciana under grant PROMETEO/2011/052.Leuschel, M.; Vidal Oriola, GF. (2014). Fast Offline Partial Evaluation of Logic Programs. Information and Computation. 235:70-97. https://doi.org/10.1016/j.ic.2014.01.005S709723
Efficient Specialisation in Prolog Using the Hand-Written Compiler Generator LOGEN
AbstractThe so called “cogen approach” to program specialisation, writing a compiler generator instead of a specialiser, has been used with considerable success in partial evaluation of both functional and imperative languages. In earlier work we have shown that this approach is also applicable to partial evaluation of logic programming languages, also called partial deduction.In this paper we extend upon this by allowing partially instantiated datastructures (via binding types), which are especially important in the context of logic programming. We also extend cogen to directly support a large part of Prolog's declarative and non-declarative features and how semi-online specialisation can be efficiently integrated. Benchmarks show that the resulting cogen is very efficient, generates very efficient generating extensions (executing up to several orders of magnitude faster than current online systems) which in turn perform very good and non-trivial specialisation, even rivalling existing online systems
Supplement to CAMAC bulletin: 1st International Symposium on CAMAC proceedings Issue #9 April 1974
CAMAC is a means of interconnecting many peripheral devices through a digital data highway to a data processing device such as a computer
Supplement to CAMAC bulletin: 1st International Symposium on CAMAC proceedings Issue #9 April 1974
CAMAC is a means of interconnecting many peripheral devices through a digital data highway to a data processing device such as a computer