Intranet Tools

nb. next round of REF2013 will NOT be using data from eprints.ecs, but the central university REF interface.

RSS 1.0 Feed
RSS 2.0 Feed
Atom Feed
 

Logic program specialisation through partial deduction: Control Issues

Leuschel, M. and Bruynooghe, M. (2002) Logic program specialisation through partial deduction: Control Issues. Theory and Practice of Logic Programming, 2805 (4&5). pp. 461-515.

Download

[img]
Preview
PDF
459Kb

Abstract

Program specialisation aims at improving the overall performance of
programs by performing source to source transformations. A common
approach within functional and logic programming, known respectively
as partial evaluation and partial deduction, is to exploit partial
knowledge about the input. It is achieved through a well-automated
application of parts of the Burstall-Darlington unfold/fold
transformation framework. The main challenge in developing systems
is to design automatic control that ensures correctness, efficiency,
and termination. This survey and tutorial presents the main
developments in controlling partial deduction over the past 10 years
and analyses their respective merits and shortcomings. It ends with
an assessment of current achievements and sketches some remaining
research challenges.

Item Type:Article
Creator/Authors:
Michael Leuschel
Maurice Bruynooghe
Keywords:program specialisation, logic programming, partial evaluation, partial deduction.
Research Group:Old ECS Groups > Dependable Systems and Software Engineering Research Group
Date:July 2002
Information about this record:
Performance Indicator:EZ~02~01~11
Citations:ISI: 26, Google Scholar: 63
Downloads (2010):45
ID Code:9186
Last Modified:23 Sep 2011 10:30
Deposited On:15 Mar 2004 by Leuschel, Michael

Tools & Metadata

Download Statistics

Last month

Last year

Members of ECS may view the download statistics dashboard for this record.

References in Article

Select the SEEK icon to attempt to find the referenced article. If it does not appear to be in this archive you will be forwarded to the paracite service. Poorly formated references will probably not work.

\begin{thebibliography}{xx}

\harvarditem[Albert et al.]{Albert, Alpuente, Falaschi, Juli\'{a}n and

Vidal}{1998}{AlbertEtAl:SAS98}

Albert, E., Alpuente, M., Falaschi, M., Juli\'{a}n, P. and Vidal, G.

(1998).

\newblock Improving control in functional logic program specialization, {\em

in} G.~Levi (ed.), {\em Static Analysis, SAS'98, Proceedings},

LNCS

1503, Springer-Verlag, pp.~262--277.

\harvarditem[Albert et al.]{Albert, Alpuente, Hanus and

Vidal}{1999}{AlbertAlpuenteHanusVidal:LPAR99}

Albert, E., Alpuente, M., Hanus, M. and Vidal, G. (1999).

\newblock A partial evaluation framework for curry programs,

{\em in} H.~Ganzinger, D.~A.~McAllester, A.~Voronkov (eds.), {\em

Logic Programming and Automated Reasoning, LPAR'99, Proceedings}, LNCS

1705, Springer-Verlag, pp.~376--395.

\harvarditem[Albert and Vidal]{Albert and

Vidal}{2001}{AlbertEtal:LOPSTR2001}Albert, E. and Vidal, G. (2001).

\newblock Source-{L}evel {A}bstract {P}rofiling for {M}ulti-{P}aradigm

{D}eclarative {P}rograms, {\em in} A.~Pettorossi (ed.),

{\em Pre-Proceedings of 11th Int'l Workshop on

Logic-based Program Synthesis and Transformation, LOPSTR'2001}.

\harvarditem[Albert et al.]{Albert, Antoy and

Vidal}{2001}{AlbertEtal:LOPSTR2000}Albert, E., Antoy, S. and Vidal,

G. (2001).

\newblock Measuring the {E}ffectiveness of {P}artial {E}valuation in

{F}unctional {L}ogic {L}anguages, {\em in} K-K.~Lau (ed.),

{\em Logic Based Program Synthesis and Transformation, LOPSTR 2000,

Selected Papers},

LNCS 2042, Springer-Verlag, pp.~103--124.

\harvarditem[Alpuente et al.]{Alpuente, Falaschi and

Vidal}{1996}{AlpuenteFalaschiVidal:ESOP96}

Alpuente, M., Falaschi, M. and Vidal, G. (1996).

\newblock Narrowing-driven partial evaluation of functional logic programs,

{\em in} H.~Riis~Nielson (ed.), {\em Programming Languages and

Systems, ESOP'96, Proceedings}, LNCS 1058, Springer-Verlag,

pp.~45--61.

\harvarditem[Alpuente et al.]{Alpuente, Falaschi and

Vidal}{1998}{AlpuenteEtAl:TOPLAS98}

Alpuente, M., Falaschi, M. and Vidal, G. (1998).

\newblock {P}artial {E}valuation of {F}unctional {L}ogic {P}rograms, {\em

ACM

Transactions on Programming Languages and Systems} {\bf 20}(4):~768--844.

\harvarditem[Alpuente et al.]{Alpuente, Falaschi, Juli\'{a}n and

Vidal}{1997}{Alpuente:PEPM97}

Alpuente, M., Falaschi, M., Juli\'{a}n, P. and Vidal, G. (1997).

\newblock Spezialisation of lazy functional logic programs, {\em Proceedings

of

PEPM'97, the ACM Sigplan Symposium on Partial Evaluation and

Semantics-Based

Program Manipulation}, ACM Press, pp.~151--162.

\harvarditem[Andersen]{Andersen}{1992}{Andersen:CCC92}

Andersen, L.~O. (1992).

\newblock Partial evaluation of {C} and automatic compiler generation, {\em

in}

U.~Kastens and P.~Pfahler (eds.), {\em Compiler Construction, CC'92,

Proceedings}, LNCS 641, Springer-Verlag,

pp.~251--257.f

\harvarditem[Andersen]{Andersen}{1994}{Andersen94:PhD}

Andersen, L.~O. (1994).

\newblock {\em Program Analysis and Specialization for the {C} Programming

Language}, PhD thesis, DIKU, University of Copenhagen.

\newblock (DIKU report 94/19).

\harvarditem[Apt]{Apt}{1990}{Apt90:htcs}

Apt, K.~R. (1990).

\newblock Introduction to logic programming, {\em in} J.~van Leeuwen (ed.),

{\em Handbook of Theoretical Computer Science}, North-Holland Amsterdam,

chapter~10, pp.~495--574.

\harvarditem[Apt and Bol]{Apt and Bol}{1994}{Apt94-1:jlp}

Apt, K.~R. and Bol, R.~N. (1994).

\newblock Logic programming and negation: A survey, {\em The Journal of

Logic

Programming} {\bf 19 \& 20}:~9--72.

\harvarditem[Aravindan and Dung]{Aravindan and Dung}{1994}{AravindanDung:NGC94}

Aravindan, C. and Dung, P.~M. (1994).

\newblock Partial deduction of logic programs wrt well-founded semantics, {\em

New Generation Computing} {\bf 13}:~45--74.

\harvarditem[Beckman et al.]{Beckman, Haraldson, Oskarsson and

Sandewall}{1976}{Beckman:76}

Beckman, L., Haraldson, A., Oskarsson, {\"O}. and Sandewall, E. (1976).

\newblock A partial evaluator and its use as a programming tool, {\em

Artificial Intelligence} {\bf 7}:~319--357.

\harvarditem[Benkerimi and Hill]{Benkerimi and Hill}{1993}{Benkerimi93:jlc}

Benkerimi, K. and Hill, P.~M. (1993).

\newblock Supporting transformations for the partial evaluation of logic

programs, {\em Journal of Logic and Computation} {\bf 3}(5):~469--486.

\harvarditem[Benkerimi and Lloyd]{Benkerimi and

Lloyd}{1990}{Benkerimi:naclp90}

Benkerimi, K. and Lloyd, J.~W. (1990).

\newblock A partial evaluation procedure for logic programs, {\em in}

S.~Debray

and M.~Hermenegildo (eds.), {\em Proceedings of the North American

Conference

on Logic Programming}, MIT Press, pp.~343--358.

\harvarditem[Bensaou and Guessarian]{Bensaou and

Guessarian}{1998}{BensaouEtAl:TCS98}

Bensaou, N. and Guessarian, I. (1998).

\newblock Transforming constraing logic programs, {\em Theoretical Computer

Science} {\bf 206}:~81--125.

\harvarditem[Birkedal and Welinder]{Birkedal and

Welinder}{1994}{BirkedalWelinder:94:handcogen}

Birkedal, L. and Welinder, M. (1994).

\newblock Hand-writing program generator generators, {\em in}

M.~Hermenegildo

and J.~Penjam (eds.), {\em Programming Language Implementation and Logic

Programming, PLILP'91, Proceedings}, LNCS 844,

Springer-Verlag, pp.~198--214.

\harvarditem[Bol]{Bol}{1993}{bol:jlp93-pd}

Bol, R. (1993).

\newblock Loop checking in partial deduction, {\em The Journal of Logic

Programming} {\bf 16}(1\&2):~25--46.

\harvarditem[Bondorf]{Bondorf}{1988}{Bondorf:PEMC88}

Bondorf, A. (1988).

\newblock Towards a self-applicable partial evaluator for term rewriting

systems, {\em in} D.~Bj{\o}rner, A.~P.~Ershov and N.~D.~Jones (eds.), {\em

Partial Evaluation and Mixed Computation}, North-Holland, pp.~27--50.

\harvarditem[Bondorf]{Bondorf}{1989}{Bondorf:TAPSOFT89}

Bondorf, A. (1989).

\newblock A self-applicable partial evaluator for term rewriting systems,

{\em

in} J.~Diaz and F.~Orejas (eds.), {\em TAPSOFT'89, Proceedings of the

International Joint Conference on Theory and Practice of Software

Development}, LNCS 352, Springer-Verlag, pp.~81--96.

\harvarditem[Bossi and Cocco]{Bossi and Cocco}{1994}{BossiCocco:ALP94}

Bossi, A. and Cocco, N. (1994).

\newblock Preserving universal termination through unfold/fold, {\em in}

G.~Levi and M.~Rodriguez-Artalejo (eds.), {\em Algebraic and Logic

Programming, ALP'94, Proceedings}, LNCS 850,

Springer-Verlag, pp.~269--286.

\harvarditem[Bossi and Cocco]{Bossi and Cocco}{1996}{BossiCocco:LOPSTR96}

Bossi, A. and Cocco, N. (1996).

\newblock Replacement can preserve termination, {\em in} J.~Gallagher (ed.),

{\em Logic Programming Synthesis and Transformation, LOPSTR'96,

Proceedings}, LNCS 1207, Springer-Verlag, pp.~104--129.

\harvarditem[Bossi et al.]{Bossi, Cocco and

Dulli}{1990}{BossiCoccoDulli:toplas90}

Bossi, A., Cocco, N. and Dulli, S. (1990).

\newblock A method for specialising logic programs, {\em ACM Transactions on

Programming Languages and Systems} {\bf 12}(2):~253--302.

\harvarditem[Bossi et al.]{Bossi, Cocco and

Etalle}{1995}{BossiCoccoEtalle:LOPSTR95}

Bossi, A., Cocco, N. and Etalle, S. (1995).

\newblock Transformation of left terminating programs: The reordering

problem.,

{\em in} M.~Proietti (ed.), {\em Logic Program Synthesis and

Transformation, LOPSTR'95, Proceedings}, LNCS 1048, Springer-Verlag,

pp.~33--45.

\harvarditem[Boulanger and Bruynooghe]{Boulanger and

Bruynooghe}{1993}{Boulanger:JSC93}

Boulanger, D. and Bruynooghe, M. (1993).

\newblock Deriving fold/unfold transformations of logic programs using extended

{OLDT}-based abstract interpretation, {\em Journal of Symbolic Computation}

{\bf 15}(5\&6):~495--521.

\harvarditem[Bowers and Gurr]{Bowers and Gurr}{1995}{BowersGurr:metachapter}

Bowers, A.~F. and Gurr, C.~A. (1995).

\newblock Towards fast and declarative meta-programming, {\em in} K.~R.~Apt

and

F.~Turini (eds.), {\em Meta-logics and Logic Programming}, MIT Press,

pp.~137--166.

\harvarditem[Bruynooghe et al.]{Bruynooghe, De~Schreye and

Krekels}{1989}{BruynoogheDeSchreyeKrekels:jlp91}

Bruynooghe, M., De~Schreye, D. and Krekels, B. (1989).

\newblock Compiling control, {\em The Journal of Logic Programming} {\bf

6}:~135--162.

\harvarditem[Bruynooghe et al.]{Bruynooghe, De~Schreye and

Martens}{1992}{Bruynooghe:ngc92}

Bruynooghe, M., De~Schreye, D. and Martens, B. (1992).

\newblock A general criterion for avoiding infinite unfolding during partial

deduction, {\em New Generation Computing} {\bf 11}(1):~47--79.

\harvarditem[Bruynooghe et al.]{Bruynooghe, Leuschel and

Sagonas}{1998}{BruynoogheLeuschelSagonas:ESOP98}

Bruynooghe, M., Leuschel, M. and Sagonas, K. (1998).

\newblock A polyvariant binding-time analysis for off-line partial

deduction,

{\em in} C.~Hankin (ed.), {\em Programming Languages and Systems,

ESOP'98, Proceedings}, LNCS 1381, Springer-Verlag, pp.~27--41.

\harvarditem[Bugliesi and Russo]{Bugliesi and

Russo}{1989}{BugliesiRusso:NACLP89}

Bugliesi, M. and Russo, F. (1989).

\newblock Partial evaluation in {P}rolog: Some improvements about cut, {\em

in}

E.~L.~Lusk and R.~A.~Overbeek (eds.), {\em Logic Programming: Proceedings

of

the North American Conference}, MIT Press, pp.~645--660.

\harvarditem[Burstall and Darlington]{Burstall and

Darlington}{1977}{BurstallDarlington:ACM77}

Burstall, R.~M. and Darlington, J. (1977).

\newblock A transformation system for developing recursive programs, {\em

Journal of the ACM} {\bf 24}(1):~44--67.

\harvarditem[Chan and Wallace]{Chan and Wallace}{1989}{Chan:META88}

Chan, D. and Wallace, M. (1989).

\newblock A treatment of negation during partial evaluation, {\em in}

H.~Abramson and M.~Rogers (eds.), {\em Meta-Programming in Logic

Programming,

Proceedings of the Meta88 Workshop, June 1988}, MIT Press, pp.~299--318.

\harvarditem[Chen and Warren]{Chen and Warren}{1996}{ChenWarren:JACM96}

Chen, W. and Warren, D.~S. (1996).

\newblock Tabled evaluation with delaying for general logic programs, {\em

Journal of the ACM} {\bf 43}(1):~20--74.

\harvarditem[Chin]{Chin}{1993}{Chin:PEPM93}

Chin, W.-N. (1993).

\newblock Towards an automated tupling strategy, {\em Proceedings of PEPM'93,

the ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program

Manipulation}, ACM Press, pp.~119--132.

\harvarditem[Chin and Khoo]{Chin and Khoo}{1993}{Chin:WSA93}

Chin, W.-N. and Khoo, S.-C. (1993).

\newblock Tupling functions with multiple recursion parameters,

{\em in} P.~Cousot, M.~Falaschi, G.~Fil\`e, A.~Rauzy (eds.)

{\em Static Analysis, WSA'93, Proceedings},

{\em LNCS 724}, Springer-Verlag, pp.~124--140.

\harvarditem[Codish and Taboch]{Codish and Taboch}{1999}{codish99:jlpb}

Codish, M. and Taboch, C. (1999).

\newblock A semantic basis for the termination analysis of logic programs, {\em

Journal of Logic Programming} {\bf 41}(1):~103--123.

\harvarditem[Consel and Danvy]{Consel and Danvy}{1993}{ConselDanvy:POPL93}

Consel, C. and Danvy, O. (1993).

\newblock Tutorial notes on partial evaluation, {\em Proceedings of ACM

Symposium on Principles of Programming Languages (POPL'93)}, ACM Press,

pp.~493--501.

\harvarditem[Dawson et al.]{Dawson, Ramakrishnan, Ramakrishnan, Sagonas,

Skiena, Swift and Warren}{1995}{UnifFact:POPL95}

Dawson, S., Ramakrishnan, C.~R., Ramakrishnan, I.~V., Sagonas, K., Skiena,

S.,

Swift, T. and Warren, D.~S. (1995).

\newblock Unification factoring for the efficient execution of logic

programs,

{\em Proceedings of ACM Symposium on Principles of Programming Languages

(POPL'95)}, pp.~247--258.

\harvarditem[Decorte et al.]{Decorte, De~Schreye and

Vandecasteele}{1999}{DecorteDeSchreye:TOPLAS99}

Decorte, S, De~Schreye, D. and Vandecasteele, H. (1999).

\newblock

Constraint-based termination analysis of logic programs, {\em ACM

Transactions on Programming Languages and Systems} {\bf 21}(6):~1137--1195.

\harvarditem[De~Schreye and Decorte]{De~Schreye and

Decorte}{1994}{DeSchreyeDecorte:JLP94}

De~Schreye, D. and Decorte, S. (1994).

\newblock Termination of logic programs: The never ending story, {\em The

Journal of Logic Programming} {\bf 19 \& 20}:~199--260.

\harvarditem[De~Schreye et al.]{De~Schreye, Gl\"{u}ck, J{\o}rgensen,

Leuschel,

Martens and S{\o}rensen}{1999}{CPD:megapaper}

De~Schreye, D., Gl\"{u}ck, R., J{\o}rgensen, J., Leuschel, M., Martens, B.

and

S{\o}rensen, M.~H. (1999).

\newblock Conjunctive partial deduction: Foundations, control, algorithms

and

experiments, {\em The Journal of Logic Programming} {\bf 41}(2 \&

3):~231--277.

\harvarditem[de~Waal and Gallagher]{de~Waal and

Gallagher}{1994}{deWaal-Gallagher:cade12}

de~Waal, D.~A. and Gallagher, J. (1994).

\newblock The applicability of logic program analysis and transformation to

theorem proving, {\em in} A.~Bundy (ed.), {\em Automated

Deduction, CADE-12, Proceedings}, LNCS 814, Springer-Verlag, pp.~207--221.

\harvarditem[Debray]{Debray}{1997}{Debray:PEPM97}

Debray, S. (1997).

\newblock Resource-bounded partial evaluation, {\em Proceedings of PEPM'97,

the

ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program

Manipulation}, ACM Press, pp.~179--192.

\harvarditem[Denecker et al.]{Denecker, Bruynooghe and

Marek}{2001}{Denecker:TOCL01}

Denecker, M., Bruynooghe, M. and Marek, V. (2001).

\newblock Logic programming revisited: logic programs as inductive definitions,

{\em ACM Transactions on Computational Logic} {\bf 2}(4):~623--654.

\harvarditem[Dershowitz]{Dershowitz}{1987}{Dershowitz:jsc87}

Dershowitz, N. (1987).

\newblock Termination of rewriting, {\em Journal of Symbolic Computation}

{\bf

3}:~69--116.

\harvarditem[Dershowitz and Jouannaud]{Dershowitz and

Jouannaud}{1990}{Dershowitz:htcs90}

Dershowitz, N. and Jouannaud, J.-P. (1990).

\newblock Rewrite systems, {\em in} J.~van Leeuwen (ed.), {\em Handbook of

Theoretical Computer Science, Vol. B}, Elsevier, MIT Press, pp.~243--320.

\harvarditem[Dershowitz and Manna]{Dershowitz and

Manna}{1979}{DershowitzManna:CACM79}

Dershowitz, N. and Manna, Z. (1979).

\newblock Proving termination with multiset orderings, {\em Communications

of

the ACM} {\bf 22}(8):~465--476.

\harvarditem[Ershov]{Ershov}{1982}{Ershov:TCS82}

Ershov, A. (1982).

\newblock Mixed computation: Potential applications and problems for study,

{\em Theoretical Computer Science} {\bf 18}:~41--67.

\harvarditem[Etalle and Gabbrielli]{Etalle and

Gabbrielli}{1996}{EtalleGabbrielli:TCS96}

Etalle, S. and Gabbrielli, M. (1996).

\newblock Transformations of {CLP} modules, {\em Theoretical Computer

Science}

{\bf 166}:~101--146.

\harvarditem[Fioravanti et al.]{Fioravanti, Pettorossi and

Proietti}{1999}{FioravantiEtAl:Woid99}

Fioravanti, F., Pettorossi, A. and Proietti, M. (1999).

\newblock Rules and strategies for contextual specialization of constraint

logic programs, {\em Electronic Notes in Theoretical Computer Science}

{\bf 30}(2).

\harvarditem[Fioravanti et al.]{Fioravanti, Pettorossi and

Proietti}{2000}{FioravantiEtAl:Lopstr00}

Fioravanti, F., Pettorossi, A. and Proietti, M. (2000).

\newblock Automated strategies for specializing constraint logic programs,

{\em in} K-K.~Lau (ed.),

{\em Logic Based Program Synthesis and Transformation, LOPSTR 2000,

Selected Papers},

LNCS 2042, Springer-Verlag, pp.~125--146.

\harvarditem[Fioravanti et al.]{Fioravanti, Pettorossi and

Proietti}{2001}{FioravantiEtAl:VCL01}

Fioravanti, F., Pettorossi, A. and Proietti, M. (2001).

\newblock Verifying CTL Properties of Infinite State Systems by

Specializing Constraint Logic Programs,

{\em in} M.~Leuschel, A.~Podelski, C.~R.~Ramakrishnan, U.~Ultes-Nitsche (eds.)

{\em Proceedings of the Second International Workshop on

Verification and Computational Logic, VCL'2001}, pp.~85-96.

\harvarditem[Fujita and Furukawa]{Fujita and

Furukawa}{1988}{FujitaFurukawa88:ngc}

Fujita, H. and Furukawa, K. (1988).

\newblock A self-applicable partial evaluator and its use in incremental

compilation, {\em New Generation Computing} {\bf 6}(2 \& 3):~91--118.

\harvarditem[Fuller and Abramsky]{Fuller and

Abramsky}{1988}{FullerAbramsky:88}

Fuller, D.~A. and Abramsky, S. (1988).

\newblock Mixed computation of Prolog programs, {\em New Generation

Computing}

{\bf 6}(2 \& 3):~119--141.

\harvarditem[Fuller et al.]{Fuller, Bocic and

Bertossi}{1996}{FullerBocicBertossi:NGC96}

Fuller, D. A.~F., Bocic, A. and Bertossi, L.~E. (1996).

\newblock Towards efficient partial evaluation in logic programming, {\em

New

Generation Computing} {\bf 14}:~237--259.

\harvarditem[Gallagher]{Gallagher}{1991}{Gallagher91:TR}

Gallagher, J. (1991).

\newblock A system for specialising logic programs, {\em Technical Report

TR-91-32}, University of Bristol.

\harvarditem[Gallagher]{Gallagher}{1993}{Gallagher:PEPM93}

Gallagher, J. (1993).

\newblock Tutorial on specialisation of logic programs, {\em Proceedings of

PEPM'93, the ACM Sigplan Symposium on Partial Evaluation and

Semantics-Based

Program Manipulation}, ACM Press, pp.~88--98.

\harvarditem[Gallagher and Bruynooghe]{Gallagher and

Bruynooghe}{1991}{Gallagher91:ngc}

Gallagher, J. and Bruynooghe, M. (1991).

\newblock The derivation of an algorithm for program specialisation, {\em

New

Generation Computing} {\bf 9}(3 \& 4):~305--333.

\harvarditem[Gallagher and de~Waal]{Gallagher and

de~Waal}{1992}{GallagherdeWaal:LOPSTR92}

Gallagher, J. and de~Waal, D.~A. (1992).

\newblock Deletion of redundant unary type predicates from logic programs,

{\em

in} K.-K. Lau and T.~Clement (eds.), {\em Logic Program Synthesis and

Transformation, Proceedings of LOPSTR'92}, Workshops in Computing,

Springer-Verlag, pp.~151--167.

\harvarditem[Gallagher and Lafave]{Gallagher and

Lafave}{1996}{GallagherLafave:PE96}

Gallagher, J. and Lafave, L. (1996).

\newblock Regular approximations of computation paths in logic and

functional languages, {\em in} O.~Danvy, R.~Gl\"{u}ck and

P.~Thiemann (eds.), {\em

Partial Evaluation, International Seminar, Dagstuhl Castle, Selected

Papers}, LNCS 1110, Springer-Verlag, pp.~115--136.

\harvarditem[Gallagher and Peralta]{Gallagher and

Peralta}{2001}{GallagherPeralta:PEPM00}

Gallagher, J.~P. and Peralta, J.~C. (2001).

\newblock Regular tree languages as an abstract domain in program

specialisation.

\newblock {\em Higher Order and Symbolic Computation}, 14(2--3):143--172,

November 2001.

\harvarditem[Glenstrup and Jones]{Glenstrup and

Jones}{1996}{GlenstrupJones:96:BTATermination}

Glenstrup, A.~J. and Jones, N.~D. (1996).

\newblock {BTA} algorithms to ensure termination of off-line partial

evaluation, {\em in} D.~Bj{\o}rner, M.~Broy, I.~V.~Pottosin (eds.),

{\em Perspectives of System Informatics:

{A}ndrei {E}rshov Second International Memorial Conference,

Proceedings}, LNCS 1181,

Springer-Verlag, pp.~273--284.

\harvarditem[Gl{\"u}ck and S{\o}rensen]{Gl{\"u}ck and

S{\o}rensen}{1994}{GlueckSorensen:PLILP94}

Gl{\"u}ck, R. and S{\o}rensen, M.~H. (1994).

\newblock Partial deduction and driving are equivalent, {\em in}

M.~Hermenegildo and J.~Penjam (eds.), {\em Programming Language

Implementation and Logic Programming, PLILP'94, Proceedings}, LNCS 844,

Springer-Verlag, pp.~165--181.

\harvarditem[Gl{\"u}ck and S{\o}rensen]{Gl{\"u}ck and

S{\o}rensen}{1996}{GlueckSorensen:PE96}

Gl{\"u}ck, R. and S{\o}rensen, M.~H. (1996).

\newblock A roadmap to supercompilation, {\em in} O.~Danvy, R.~Gl\"{u}ck and

P.~Thiemann (eds.), {\em Partial Evaluation, International Seminar,

Dagstuhl Castle, Selected Papers}, LNCS 1110, Springer-Verlag,

pp.~137--160.

\harvarditem[Gl{\"u}ck et al.]{Gl{\"u}ck, J{\o}rgensen, Martens and

S{\o}rensen}{1996}{GlueckJorgensenMartensSorenson:control}

Gl{\"u}ck, R., J{\o}rgensen, J., Martens, B. and S{\o}rensen, M.~H.

(1996).

\newblock Controlling conjunctive partial deduction of

definite logic programs, {\em in} H.~Kuchen and S.~Swierstra (eds.),

{\em Programming Languages: Implementations, Logics, and Programs,

PLILP'96, Proceedings}, LNCS 1140, Springer-Verlag, pp.~152--166.

\harvarditem[Gurr]{Gurr}{1994a}{Gurr:PHD}

Gurr, C.~A. (1994a).

\newblock {\em A Self-Applicable Partial Evaluator for the Logic Programming

Language G\"odel}, PhD thesis, Department of Computer Science, University

of Bristol.

\harvarditem[Gurr]{Gurr}{1994b}{Gurr:LOPSTR93}

Gurr, C.~A. (1994b).

\newblock Specialising the ground representation in the logic programming

language {G\"odel}, {\em in} Y.~Deville (ed.), {\em Logic Program

Synthesis and Transformation, Proceedings of LOPSTR'93}, Workshops in

Computing, Springer-Verlag, pp.~124--140.

\harvarditem[Hanus]{Hanus}{1994}{Hanus:JLP94}

Hanus, M. (1994).

\newblock The integration of functions into logic programming, {\em The

Journal

of Logic Programming} {\bf 19 \& 20}:~583--628.

\harvarditem[Higman]{Higman}{1952}{Higman:PLMS52}

Higman, G. (1952).

\newblock Ordering by divisibility in abstract algebras, {\em Proceedings of

the London Mathematical Society} {\bf 2}:~326--336.

\harvarditem[Holst]{Holst}{1989}{Holst:89a}

Holst, C.~K. (1989).

\newblock Syntactic currying: yet another approach to partial evaluation,

{\em

Technical report}, DIKU, Department of Computer Science, University of

Copenhagen.

\harvarditem[Holst and Launchbury]{Holst and

Launchbury}{1992}{HolstLaunchbury:92}

Holst, C.~K. and Launchbury, J. (1992).

\newblock Handwriting cogen to avoid problems with static typing, Working

paper.

\harvarditem[Huet]{Huet}{1980}{Huet:JACM80}

Huet, G. (1980).

\newblock Confluent reductions: Abstract properties and applications to term

rewriting systems, {\em Journal of the ACM} {\bf 27}(4):~797--821.

\harvarditem[Jaffar and Maher]{Jaffar and Maher}{1994}{Jaffar94:jlp}

Jaffar, J. and Maher, M.~J. (1994).

\newblock Constraint logic programming: A survey, {\em The Journal of Logic

Programming} {\bf 19 \& 20}:~503--581.

\harvarditem[Jones]{Jones}{1994}{Jones:LLC94}

Jones, N.~D. (1994).

\newblock The essence of program transformation by partial evaluation and

driving, {\em in} N.~D.~Jones, M.~Hagiya, M.~Sato (eds.), {\em

Logic, Language and Computation, Festschrift in Honor of Satoru

Takasu}, LNCS 792, Springer-Verlag, pp.~206--224.

\harvarditem[Jones]{Jones}{1996}{Jones:ACMCompSurv96}

Jones, N.~D. (1996).

\newblock An introduction to partial evaluation, {\em ACM Computing Surveys}

{\bf 28}(3):~480--503.

\harvarditem[Jones]{Jones}{1997}{Jones:SAS97}

Jones, N.~D. (1997).

\newblock Combining abstract interpretation and partial evaluation, {\em in}

P.~Van~Hentenryck (ed.), {\em Static Analysis, SAS'97, Proceedings},

LNCS 1302, Springer-Verlag, pp.~396--405.

\harvarditem[Jones et al.]{Jones, Gomard and Sestoft}{1993}{Jones:peval}

Jones, N.~D., Gomard, C.~K. and Sestoft, P. (1993).

\newblock {\em Partial Evaluation and Automatic Program Generation},

Prentice Hall.

\harvarditem[Jones et al.]{Jones, Ses{\-}toft and

S{\o}n{\-}der{\-}gaard}{1989}{JonesSestoftSondergaard:LSC89}

Jones, N.~D., Ses{\-}toft, P. and S{\o}n{\-}der{\-}gaard, H. (1989).

\newblock Mix: a self-applicable partial evaluator for experiments in

compiler

generation, {\em LISP and Symbolic Computation} {\bf 2}(1):~9--50.

\harvarditem[J{\o}rgensen and Leuschel]{J{\o}rgensen and

Leuschel}{1996}{JorgensenLeuschel:Cogen}

J{\o}rgensen, J. and Leuschel, M. (1996).

\newblock Efficiently generating efficient generating extensions in

{Prolog},

{\em in} O.~Danvy, R.~Gl\"{u}ck and P.~Thiemann (eds.), {\em Partial

Evaluation, International Seminar, Dagstuhl Castle, Selected

Papers}, LNCS 1110, Springer-Verlag, pp.~238--262.

\harvarditem[J{\o}rgensen et al.]{J{\o}rgensen, Leuschel and

Martens}{1996}{JorgensenLeuschelMartens:CPPD}

J{\o}rgensen, J., Leuschel, M. and Martens, B. (1996).

\newblock Conjunctive partial deduction in practice, {\em in} J.~Gallagher

(ed.), {\em Logic Programming Synthesis and Transformation,

LOPSTR'96, Proceedings}, LNCS 1207, Springer-Verlag, pp.~59--82.

\harvarditem[Kleene]{Kleene}{1952}{Kleene:meta}

Kleene, S. (1952).

\newblock {\em Introduction to Metamathematics}, van Nostrand, Princeton,

New

Jersey.

\harvarditem[Komorowski]{Komorowski}{1982}{Komorowski:POPL82}

Komorowski, J. (1982).

\newblock Partial evaluation as a means for inferencing data structures in

an

applicative language: a theory and implementation in the case of {P}rolog,

{\em Ninth Annual {ACM SIGACT-SIGPLAN} Symposium on Principles of

Programming

Languages}, pp.~255--267.

\harvarditem[Komorowski]{Komorowski}{1992}{komorowski:meta92}

Komorowski, J. (1992).

\newblock An introduction to partial deduction, {\em in} A.~Pettorossi

(ed.),

{\em Meta-Programming in Logic, META-92, Proceedings}, LNCS 649,

Springer-Verlag, pp.~49--69.

\harvarditem[Kruskal]{Kruskal}{1960}{Kruskal:TAMS60}

Kruskal, J.~B. (1960).

\newblock Well-quasi ordering, the tree theorem, and {V}azsonyi's

conjecture,

{\em Transactions of the American Mathematical Society} {\bf

95}:~210--225.

\harvarditem[Lafave and Gallagher]{Lafave and

Gallagher}{1997}{LafaveGallagher:LOPSTR97}

Lafave, L. and Gallagher, J. (1997).

\newblock Constraint-based partial evaluation of rewriting-based functional

logic programs, {\em in} N.~Fuchs (ed.), {\em Logic Programming

Synthesis and Transformation, LOPSTR'97, Proceedings}, LNCS 1463,

pp.~168--188.

\harvarditem[Lassez et al.]{Lassez, Maher and

Marriott}{1988}{LassezMaherMarriott:fddlp88}

Lassez, J.-L., Maher, M. and Marriott, K. (1988).

\newblock Unification revisited, {\em in} J.~Minker (ed.), {\em Foundations

of

Deductive Databases and Logic Programming}, Morgan-Kaufmann, pp.~587--625.

\harvarditem[Leuschel]{Leuschel}{1994}{Leuschel:LOPSTR94}

Leuschel, M. (1994).

\newblock Partial evaluation of the ``real thing'', {\em in} L.~Fribourg and

F.~Turini (eds.), {\em Logic Programming Synthesis and

Transformation - Meta-Programming in Logic, LOPSTR'94 and

META'94, Proceedings}, LNCS 883,

Springer-Verlag, pp.~122--137.

\harvarditem[Leuschel]{Leuschel}{1995}{Leuschel:LOPSTR95}

Leuschel, M. (1995).

\newblock Ecological partial deduction: Preserving characteristic trees

without

constraints, {\em in} M.~Proietti (ed.), {\em Logic Program Synthesis

and Transformation, LOPSTR'95, Proceedings}, LNCS 1048,

Springer-Verlag, pp.~1--16.

\harvarditem[Leuschel]{Leuschel}{1996}{Leuschel96:ecce-dppd}

Leuschel, M. (1996).

\newblock The {\sc ecce} partial deduction system and the {\sc dppd} library

of

benchmarks, Obtainable via {\tt http://www.cs.kuleuven.ac.be/\~{}dtai}.

\harvarditem[Leuschel]{Leuschel}{1997}{Leuschel:phd}

Leuschel, M. (1997).

\newblock {\em Advanced Techniques for Logic Program Specialisation}, PhD

thesis, K.U.\ Leuven.

\newblock Accessible via {\tt http://www.ecs.soton.ac.uk/\~{}mal}.

\harvarditem[Leuschel]{Leuschel}{1998a}{Leuschel:LOPSTR98}

Leuschel, M. (1998a).

\newblock Improving homeomorphic embedding for online termination, {\em in}

P.~Flener (ed.), {\em Logic-Based Program Synthesis and

Transformation, LOPSTR'98, Proceedings}, LNCS 1559, Springer-Verlag,

pp.~199--218.

\harvarditem[Leuschel]{Leuschel}{1998b}{Leuschel:SAS98}

Leuschel, M. (1998b).

\newblock On the power of homeomorphic embedding for online termination,

{\em

in} G.~Levi (ed.), {\em Static Analysis, SAS'98, Proceedings},

LNCS

1503, Springer-Verlag, pp.~230--245.

\harvarditem[Leuschel]{Leuschel}{1998c}{Leuschel:JICSLP98}

Leuschel, M. (1998c).

\newblock Program specialisation and abstract interpretation reconciled,

{\em

in} J.~Jaffar (ed.), {\em Proceedings of the Joint International

Conference

and Symposium on Logic Programming, JICSLP'98}, MIT Press,

pp.~220--234.

\harvarditem[Leuschel]{Leuschel}{1999b}{Leuschel:PE98a}

Leuschel, M. (1999b).

\newblock Logic program specialisation, {\em in} J.~Hatcliff,

T.~{\AE}.~Mogensen and P.~Thiemann (eds.), {\em Partial Evaluation:

Practice and

Theory, DIKU 1998 International Summer School}, LNCS 1706,

Springer-Verlag, pp.~155--188

and 271--292.

\harvarditem[Leuschel and De~Schreye]{Leuschel and

De~Schreye}{1995}{LeuschelDeSchreye:PEPM95}

Leuschel, M. and De~Schreye, D. (1995).

\newblock Towards creating specialised integrity checks through partial

evaluation of meta-interpreters, {\em Proceedings of PEPM'95, the ACM

Sigplan

Symposium on Partial Evaluation and Semantics-Based Program Manipulation},

ACM Press, pp.~253--263.

\harvarditem[Leuschel and De~Schreye]{Leuschel and

De~Schreye}{1996}{LeuschelDeSchreye:PLILP96}

Leuschel, M. and De~Schreye, D. (1996).

\newblock Logic program specialisation: How to be more specific, {\em in}

H.~Kuchen and S.~Swierstra (eds.), {\em Programming Languages:

Implementations, Logics, and Programs, PLILP'96, Proceedings}, LNCS

1140, Springer-Verlag, pp.~137--151.

\harvarditem[Leuschel and De~Schreye]{Leuschel and

De~Schreye}{1998a}{LeuschelDeSchreye97:ngc}

Leuschel, M. and De~Schreye, D. (1998a).

\newblock Constrained partial deduction and the preservation of

characteristic

trees, {\em New Generation Computing} {\bf 16}:~283--342.

\harvarditem[Leuschel and De~Schreye]{Leuschel and

De~Schreye}{1998b}{LeuschelDeSchreye98:jlp}

Leuschel, M. and De~Schreye, D. (1998b).

\newblock Creating specialised integrity checks through partial evaluation

of

meta-interpreters, {\em The Journal of Logic Programming} {\bf

36}(2):~149--193.

\harvarditem[Leuschel and J{\o}rgensen]{Leuschel and

J{\o}rgensen}{1999}{LeuschelJorgensen:WOID99}

Leuschel, M. and J{\o}rgensen, J. (1999).

\newblock Efficient specialisation in prolog using the hand-written compiler

generator Logen, {\em Electronic Notes in Theoretical Computer Science}

30(2).

\harvarditem[Leuschel and Lehmann]{Leuschel and

Lehmann}{2000a}{LeuschelLehmann:CL2000}

Leuschel, M. and Lehmann, H. (2000a).

\newblock Coverability of reset {P}etri nets and other well-structured

transition systems by partial deduction, {\em in} J.~Lloyd et al.

(eds.), {\em Computational Logic, CL 2000,

Proceedings}, LNAI 1861, Springer-Verlag, pp.~101--115.

\harvarditem[Leuschel and Lehmann]{Leuschel and

Lehmann}{2000b}{LeuschelLehmann:Coverability}

Leuschel, M. and Lehmann, H. (2000b).

\newblock Solving coverability problems of {P}etri nets by partial

deduction, {\em Proceedings of the 2nd international ACM SIGPLAN

Conference on Principles and Practice of Declarative

Programming},

ACM Press, Montreal, Canada, pp.~268--279.

\harvarditem[Leuschel and Massart]{Leuschel and

Massart}{1999}{LeuschelMassart:LOPSTR99}

Leuschel, M. and Massart, T. (1999).

\newblock Infinite state model checking by abstract interpretation and

program

specialisation, {\em in} A.~Bossi (ed.), {\em Logic-Based Program

Synthesis and Transformation, LOPSTR'99, Selected Papers. }, LNCS 1817,

pp.~63--82.

\harvarditem[Leuschel and S{\o}rensen]{Leuschel and

S{\o}rensen}{1996}{LeuschelSorensen:RAF}

Leuschel, M. and S{\o}rensen, M.~H. (1996).

\newblock Redundant argument filtering of logic programs, {\em in}

J.~Gallagher

(ed.), {\em Logic Programming Synthesis and Transformation,

LOPSTR'96, Proceedings}, LNCS 1207, Springer-Verlag, pp.~83--103.

\newblock Extended version as Technical Report CW~243, K.U.\ Leuven.

\harvarditem[Leuschel et al.]{Leuschel, De~Schreye and

de~Waal}{1996}{LeuschelDeSchreyeDeWaal:JICSLP96}

Leuschel, M., De~Schreye, D. and de~Waal, A. (1996).

\newblock A conceptual embedding of folding into partial deduction: Towards

a

maximal integration, {\em in} M.~Maher (ed.), {\em Proceedings of the

Joint

International Conference and Symposium on Logic Programming JICSLP'96},

MIT

Press, pp.~319--332.

\harvarditem[Leuschel et al.]{Leuschel, Martens and

De~Schreye}{1998a}{LeuschelMartensDeSchreye:Toplas}

Leuschel, M., Martens, B. and De~Schreye, D. (1998a).

\newblock Controlling generalisation and polyvariance in partial deduction

of

normal logic programs, {\em ACM Transactions on Programming Languages and

Systems} {\bf 20}(1):~208--258.

\harvarditem[Leuschel et al.]{Leuschel, Martens and

Sagonas}{1998b}{LeuschelMartensSagonas:xsb}

Leuschel, M., Martens, B. and Sagonas, K. (1998b).

\newblock Preserving termination of tabled logic programs while unfolding,

{\em

in} N.~Fuchs (ed.), {\em Logic Programming Synthesis and

Transformation, LOPSTR'97, Proceedings}, LNCS 1463, pp.~189--205.

\harvarditem[Levi and Sardu]{Levi and Sardu}{1988}{LeviSardu:ngc88}

Levi, G. and Sardu, G. (1988).

\newblock Partial evaluation of metaprograms in a multiple worlds logic

language, {\em New Generation Computing} {\bf 6}(2 \& 3):~227--247.

\harvarditem[Lloyd]{Lloyd}{1987}{Lloyd:flp}

Lloyd, J.~W. (1987).

\newblock {\em Foundations of Logic Programming}, Springer-Verlag.

\harvarditem[Lloyd and Shepherdson]{Lloyd and

Shepherdson}{1991}{Lloyd:jlp91}

Lloyd, J.~W. and Shepherdson, J.~C. (1991).

\newblock Partial evaluation in logic programming, {\em The Journal of Logic

Programming} {\bf 11}(3\& 4):~217--242.

\harvarditem[{L{\"u}ttringhaus-Kappel}]{{L{\"u}ttringhaus-Kappel}}

{1993}{Luttringhaus93}

{L{\"u}ttringhaus-Kappel}, S. (1993).

\newblock Control {G}eneration for {L}ogic {P}rograms, {\em

in} D.~S.~Warren (ed.) {\em Logic Programming, Proceedings of the

Tenth International Conference on Logic Programming}, MIT

Press, pp.~478--495.

\harvarditem[Marchiori and Teusink]{Marchiori and

Teusink}{1995}{Marchiori:ILPS95}

Marchiori, E. and Teusink, F. (1995).

\newblock Proving termination of logic programs with delay declarations,

{\em

in} J.~Lloyd (ed.), {\em Logic Programming, Proceedings of the 1995

International Symposium}, MIT Press, Cambridge, pp.~447--464.

\harvarditem[Marriott and Stuckey]{Marriott and

Stuckey}{1993}{MarriottStuckey:POPL93}

Marriott, K. and Stuckey, P. (1993).

\newblock The 3 R's of optimizing constraint logic programs: Refinement,

removal and reordering, {\em Conference Record of the Twentieth

Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming

Languages}, ACM Press, pp.~334--344.

\harvarditem[Martens]{Martens}{1994}{Martens:phd}

Martens, B. (1994).

\newblock {\em On the Semantics of Meta-Programming and the Control of

Partial

Deduction in Logic Programming}, PhD thesis, K.U.\ Leuven.

\harvarditem[Martens and {De Schreye}]{Martens and {De

Schreye}}{1996}{MartensDeSchreye:jlp95b}

Martens, B. and {De Schreye}, D. (1996).

\newblock Automatic finite unfolding using well-founded measures, {\em The

Journal of Logic Programming} {\bf 28}(2):~89--146.

\harvarditem[Martens and Gallagher]{Martens and

Gallagher}{1995}{MartensGallagher:ICLP95}

Martens, B. and Gallagher, J. (1995).

\newblock Ensuring global termination of partial deduction while allowing

flexible polyvariance, {\em in} L.~Sterling (ed.), {\em Logic Programming, Proceedings of the Twelfth International Conference on Logic Programming},

MIT Press, pp.~597--613.

\harvarditem[Martens et al.]{Martens, De~Schreye and

Horv\'{a}th}{1994}{MartensDeSchreyeHorvath:TCS94}

Martens, B., De~Schreye, D. and Horv\'{a}th, T. (1994).

\newblock Sound and complete partial deduction with unfolding based on

well-founded measures, {\em Theoretical Computer Science} {\bf

122}(1--2):~97--117.

\harvarditem[Martin]{Martin}{2000}{Martin:phd}

Martin, J. (2000).

\newblock {\em Judgement Day: Terminating Logic Programs}, PhD thesis,

University of Southampton.

\harvarditem[Martin and King]{Martin and King}{1997}{MartinK97}

Martin, J. and King, A. (1997).

\newblock Generating {E}fficient, {T}erminating {L}ogic {P}rograms,

{\em in} M.~Bidoit, M.~Dauchet (eds.), {\em

Theory and Practice of Software Development,

TAPSOFT'97, Proceedings}, LNCS 1214, Springer-Verlag, pp.~273--284.

\harvarditem[Martin and Leuschel]{Martin and

Leuschel}{1999}{MartinLeuschel:PSI99}

Martin, J. and Leuschel, M. (1999).

\newblock Sonic partial deduction, {\em in} D.~Bj{\o}rner, M.~Broy,

A.~V.~Zamulin (eds.), {\em Perspectives of System

Informatics, Third International Andrei Ershov Memorial Conference,

PSI'99, Proceedings}, LNCS 1755,

Springer-Verlag, pp.~101--112.

\harvarditem[Miniuissi and Sherman]{Miniuissi and

Sherman}{1996}{MiniuissiSherman:Dagstuhl96}

Miniuissi, A. and Sherman, D.~J. (1996).

\newblock Squeezing intermediate construction in equational programs, {\em

in}

O.~Danvy, R.~Gl\"{u}ck and P.~Thiemann (eds.), {\em Partial

Evaluation, International Seminar, Dagstuhl Castle, Selected

Papers}, LNCS 1110, Springer-Verlag, pp.~284--302.

\harvarditem[Mogensen and Bondorf]{Mogensen and

Bondorf}{1992}{MogensenBondorf:LOPSTR92}

Mogensen, T. and Bondorf, A. (1992).

\newblock Logimix: A self-applicable partial evaluator for {P}rolog, {\em

in}

K.-K. Lau and T.~Clement (eds.), {\em Logic Program Synthesis and

Transformation, Proceedings of LOPSTR'92}, Workshops in Computing,

Springer-Verlag, pp.~214--227.

\harvarditem[Mogensen and Sestoft]{Mogensen and

Sestoft}{1997}{MogensenSestoft:ECST97}

Mogensen, T. and Sestoft, P. (1997).

\newblock Partial evaluation, {\em in} A.~Kent and J.~G.~Williams (eds.),

{\em

Encyclopedia of Computer Science and Technology}, Marcel Decker, New

York, pp.~247--279.

\harvarditem[Naish]{Naish}{1993}{naish:ctl:92}

Naish, L. (1993).

\newblock Coroutining and the construction of terminating logic programs,

{\em

Australian Computer Science Communications} {\bf 15}(1):~181--190.

\harvarditem[Neumann]{Neumann}{1990}{Neumann:META90}

Neumann, G. (1990).

\newblock Transforming interpreters into compilers by goal classification,

{\em

in} M.~Bruynooghe (ed.), {\em Proceedings of the Second Workshop on Meta

Programming in Logic}, pp.~205--217.

\harvarditem[Neumann]{Neumann}{1991}{Neumann:LPAR90}

Neumann, G. (1991).

\newblock A simple transformation from {P}rolog-written metalevel

interpreters

into compilers and its implementation, {\em in} A.~Voronkov (ed.),

{\em Logic Programming, First Russian Conference on Logic Programming,

- Second Russian Conference on Logic Programming, Proceedings} ,

LNCS 592, Springer-Verlag, pp.~349--360.

\harvarditem[O'Keefe]{O'Keefe}{1985}{OKeefe:SLP85}

O'Keefe, R. (1985).

\newblock On the treatment of cuts in {P}rolog source-level tools, {\em

Proceedings of the 1985 Symposium on Logic Programming}, IEEE, pp.~68--72.

\harvarditem[Owen]{Owen}{1989}{Owen:META88}

Owen, S. (1989).

\newblock Issues in the partial evaluation of meta-interpreters, {\em in}

H.~Abramson and M.~Rogers (eds.), {\em Meta-Programming in Logic

Programming, Workshop on Meta-Programming in Logic}, MIT Press,

pp.~319--339.

\harvarditem[Pettorossi and Proietti]{Pettorossi and

Proietti}{1994}{Pettorossi94:jlp}

Pettorossi, A. and Proietti, M. (1994).

\newblock Transformation of logic programs: Foundations and techniques, {\em

The Journal of Logic Programming} {\bf 19\& 20}:~261--320.

\harvarditem[Plotkin]{Plotkin}{1969}{Plotkin:MI69}Plotkin,

G.~D. (1969).

\newblock A note on inductive generalisation, {\em in} B.~Meltzer and

D.~Michie (eds.), {\em Machine Intelligence 5}, Edinburgh University

Press, pp.~153--163.

\harvarditem[Prestwich]{Prestwich}{1992a}{Prestwich92:TR}

Prestwich, S. (1992a).

\newblock The {PADDY} partial deduction system, {\em Technical Report

ECRC-92-6}, ECRC, Munich, Germany.

\harvarditem[Prestwich]{Prestwich}{1992b}{Prestwich:LOPSTR92}

Prestwich, S. (1992b).

\newblock An unfold rule for full {P}rolog, {\em in} K.-K. Lau and

T.~Clement

(eds.), {\em Logic Program Synthesis and Transformation, Proceedings

of

LOPSTR'92}, Workshops in Computing, Springer-Verlag, pp.~199--213.

\harvarditem[Prestwich]{Prestwich}{1993}{Prestwich:PEPM93}

Prestwich, S. (1993).

\newblock Online partial deduction of large programs, {\em Proceedings

of the ACM SIGPLAN Symposium on Partial Evaluation and

Semantics-Based Program Manipulation, PEPM'93}, ACM Press,

pp.~111--118.

\harvarditem[Proietti and Pettorossi]{Proietti and

Pettorossi}{1991}{Proietti:PEPM91}

Proietti, M. and Pettorossi, A. (1991).

\newblock Semantics preserving transformation rules for {P}rolog, {\em

Proceedings of the Symposium on Partial Evaluation and

Semantics-Based Program Manipulation, PEPM'91}, Sigplan Notices,

Vol. 26(9), pp.~274--284.

\harvarditem[Proietti and Pettorossi]{Proietti and

Pettorossi}{1991b}{Proietti:PLILP91}

Proietti, M. and Pettorossi, A. (1991b).

\newblock Unfolding-definition-folding, in this order, for avoiding

unnecessary

variables in logic programs, {\em in} J.~Ma{\l}uszy\'nski and M.~Wirsing

(eds.), {\em Programming Language Implementation and Logic

Programming, PLILP'91, Proceedings}, LNCS 528,

Springer-Verlag, pp.~347--358.

\harvarditem[Proietti and Pettorossi]{Proietti and

Pettorossi}{1993}{Proietti93:jlp}

Proietti, M. and Pettorossi, A. (1993).

\newblock The loop absorption and the generalization strategies for the

development of logic programs and partial deduction, {\em The Journal of

Logic Programming} {\bf 16}(1 \& 2):~123--162.

\harvarditem[Przymusinska et al.]{Przymusinska, Przymusinski and

Seki}{1994}{Przymusinska:LPAR92}

Przymusinska, H., Przymusinski, T.~C. and Seki, H. (1994).

\newblock Soundness and completeness of partial deductions for well-founded

semantics, {\em in} A.~Voronkov (ed.), {\em Logic Programming and

Automated Reasoning, LPAR'92, Proceedings}, LNCS 624, Springer-Verlag,

pp.~1--12.

\harvarditem[Puebla and Hermenegildo]{Puebla and

Hermenegildo}{1996}{PueblaHermenegildo:LOPSTR96}

Puebla, G. and Hermenegildo, M. (1996).

\newblock Abstract specialization and its application to program

parallelization, {\em in} J.~Gallagher (ed.), {\em Logic Programming

Synthesis and Transformation, LOPSTR'96, Proceedings}, LNCS 1207,

pp.~169--186.

\harvarditem[Puebla et al.]{Puebla, Gallagher and

Hermenegildo}{1997}{PueblaGallagherHermenegildo:SP97}

Puebla, G., Gallagher, J. and Hermenegildo, M. (1997).

\newblock Towards integrating partial evaluation in a specialization

framework

based on generic abstract interpretation, {\em in} M.~Leuschel (ed.), {\em

Proceedings of the ILPS'97 Workshop on Specialisation of Declarative

Programs

and its Application}, K.U.\ Leuven, Tech.\ Rep.\ CW 255, pp.~29--38.

\harvarditem[Renault et al.]{Renault, Pettorossi and

Proietti}{1998}{MAP}

Renault, S., Pettorossi, A. and Proietti, M.

\newblock Design, Implementation, and Use of the MAP Transformation System.

Technical Report R. 491, IASI-CNR, Roma, Italy, December 1998.

\harvarditem[Reynolds]{Reynolds}{1969}{Reynolds:MI69}Reynolds,

J.~C. (1969).

\newblock Transformational systems and the algebraic structure of

atomic formulas, {\em in} B.~Meltzer and D.~Michie (eds.), {\em

Machine Intelligence 5}, Edinburgh University Press, pp.~135--151.

\harvarditem[Romanenko]{Romanenko}{1988}{Romanenko:88}

Romanenko, S.~A. (1988).

\newblock A compiler generator produced by a self-applicable specializer can

have a surprisingly natural and understandable structure, {\em in}

D.~Bj{\o}rner, A.~P.~Ershov and N.~D.~Jones (eds.), {\em Partial Evaluation

and Mixed Computation}, North-Holland, pp.~445--463.

\harvarditem[Safra and Shapiro]{Safra and Shapiro}{1986}{SafraShapiro:IFIP86}

Safra, S. and Shapiro, E. (1986).

\newblock Meta interpreters for real, {\em in} H.-J.~Kugler (ed.), {\em

Information Processing 86, Proceedings of the IFIP 10th World

Computer Congress}, North-Holland, pp.~271--278.

\harvarditem[Sagonas and Leuschel]{Sagonas and

Leuschel}{1998}{SagonasLeuschel:ACMCS98}

Sagonas, K. and Leuschel, M. (1998).

\newblock Extending partial deduction to tabled execution: Some results and

open issues, {\em ACM Computing Surveys} 30 (Electronic Symposium on partial

evaluation).

\harvarditem[Sahlin]{Sahlin}{1991}{Sahlin:phd}

Sahlin, D. (1991).

\newblock {\em An Automatic Partial Evaluator for Full Prolog}, PhD thesis,

Swedish Institute of Computer Science.

\harvarditem[Sahlin]{Sahlin}{1993}{Sahlin93:ngc}

Sahlin, D. (1993).

\newblock Mixtus: An automatic partial evaluator for full {P}rolog, {\em New

Generation Computing} {\bf 12}(1):~7--51.

\harvarditem[Seki]{Seki}{1993}{Seki:JLP93}

Seki, H. (1993).

\newblock Unfold/fold transformation of general programs for the

well-founded

semantics, {\em The Journal of Logic Programming} {\bf 16}:~5--23.

\harvarditem[Smith]{Smith}{1991}{Smith:pepm91}

Smith, D.~A. (1991).

\newblock Partial evaluation of pattern matching in constraint logic

programming languages, {\em ACM

Symposium on Partial Evaluation and Semantics-Based Program Manipulation},

ACM Press Sigplan Notices 26(9), pp.~62--71.

\harvarditem[Smith and Hickey]{Smith and Hickey}{1990}{Smith:naclp90}

Smith, D.~A. and Hickey, T. (1990).

\newblock Partial evaluation of a {CLP} language, {\em in} S.~Debray and

M.~Hermenegildo (eds.), {\em Logic Programming, Proceedings of the

1990 North American Conference}, MIT Press, pp.~119--138.

\harvarditem[Somogyi et al.]{Somogyi, Henderson and

Conway}{1996}{SomogyiHendersonConway:jlp}

Somogyi, Z., Henderson, F. and Conway, T. (1996).

\newblock The execution algorithm of {M}ercury: An efficient purely

declarative

logic programming language, {\em The Journal of Logic Programming} {\bf

29}(1--3):~17--64.

\harvarditem[S{\o}rensen]{S{\o}rensen}{1998}{Sorensen:MPC98}

S{\o}rensen, M.~H. (1998).

\newblock Convergence of program transformers in the metric space of trees,

{\em in} J.~Jeuring (ed.) {\em Mathematics of Program

Construction, MPC'98, Proceedings}, LNCS 1422,

Springer-Verlag, pp.~315--337.

\harvarditem[S{\o}rensen and Gl\"{u}ck]{S{\o}rensen and

Gl\"{u}ck}{1995}{SorensenGluck:ILPS95}

S{\o}rensen, M.~H. and Gl\"{u}ck, R. (1995).

\newblock An algorithm of generalization in positive supercompilation, {\em

in}

J.~W. Lloyd (ed.), {\em Logic Programming, Proceedings of the 1995

International Symposium}, MIT Press, Portland, USA, pp.~465--479.

\harvarditem[S{\o}rensen and Gl\"uck]{S{\o}rensen and

Gl\"uck}{1999}{Sorensen:PE98}

S{\o}rensen, M.~H. and Gl\"uck, R. (1999).

\newblock Introduction to supercompilation, {\em in} J.~Hatcliff,

T.~{\AE}.~Mogensen and P.~Thiemann (eds.), {\em Partial Evaluation:

Practice and Theory, DIKU 1998 International Summer School}, LNCS

1706, Springer-Verlag, Copenhagen, Denmark, pp.~246--270.

\harvarditem[S{\o}rensen et al.]{S{\o}rensen, Gl{\"u}ck and

Jones}{1996}{SorensenGlueckJones:jfp}

S{\o}rensen, M.~H., Gl{\"u}ck, R. and Jones, N.~D. (1996).

\newblock A positive supercompiler, {\em Journal of Functional Programming}

{\bf 6}(6):~811--838.

\harvarditem[Sterling and Beer]{Sterling and Beer}{1989}{SterlingBeer:jlp89}

Sterling, L. and Beer, R.~D. (1989).

\newblock Metainterpreters for expert system construction, {\em The Journal

of

Logic Programming} {\bf 6}(1 \& 2):~163--178.

\harvarditem[Takeuchi and Furukawa]{Takeuchi and

Furukawa}{1986}{TakeuchiFurukawa:ifip86}

Takeuchi, A. and Furukawa, K. (1986).

\newblock Partial evaluation of {P}rolog programs and its application to

meta

programming, {\em in} H.-J. Kugler (ed.), {\em Information

Processing 86, Proceedings of the IFIP 10th World

Computer Congress}, North-Holland, pp.~415--420.

\harvarditem[Tamaki and Sato]{Tamaki and Sato}{1984}{TamakiSato:iclp84}

Tamaki, H. and Sato, T. (1984).

\newblock Unfold/fold transformations of logic programs, {\em in} S.-{\AA}.

T\"arnlund (ed.), {\em Proceedings of the Second International Conference

on

Logic Programming}, pp.~127--138.

\harvarditem[Tamaki and Sato]{Tamaki and Sato}{1986}{TamakiSato:ICLP-86}

Tamaki, H. and Sato, T. (1986).

\newblock {OLD} {R}esolution with {T}abulation, {\em in} E.~Shapiro (ed.), {\em

Third International Conference on Logic Programming, Proceedings},

{\em LNCS 225}, Springer-Verlag, London, pp.~84--98.

\harvarditem[Turchin]{Turchin}{1986}{Turchin:toplas86}

Turchin, V.~F. (1986).

\newblock The concept of a supercompiler, {\em ACM Transactions on

Programming

Languages and Systems} {\bf 8}(3):~292--325.

\harvarditem[van Harmelen]{van Harmelen}{1989}{vanHarmelen:Book89}

van Harmelen, F. (1989).

\newblock The limitations of partial evaluation, {\em in} P.~Jackson and

F.~van

Harmelen (eds.), {\em Logic-Based Knowledge Representation}, MIT Press,

pp.~87--111.

\harvarditem[Vanhoof]{Vanhoof}{2000}{Vanhoof:LPAR2000}

Vanhoof, W. (2000).

\newblock Binding-time analysis by constraint solving: a modular and

higher-order approach for Mercury, {\em in} M.~Parigot, A.~Voronkov

(eds.), {\em Logic for Programming and Automated Reasoning, LPAR 2000

Proceedings}, LNAI 1955, Springer-Verlag,

pp.~399--416.

\harvarditem[Vanhoof]{Vanhoof}{2001}{Vanhoof:PhD}

Vanhoof, W. (2001).

\newblock {\em Techniques for On- and Off-line Specialisation of Logic

Programs}, PhD thesis, K. U. Leuven, Belgium.

\harvarditem[Vanhoof and Bruynooghe]{Vanhoof and

Bruynooghe}{1999}{VanhoofBruynooghe:ICLP99}

Vanhoof, W. and Bruynooghe, M. (1999).

\newblock Binding-time analysis for Mercury, {\em in} D.~De~Schreye (ed.),

{\em Logic Programming: The 1999 International Conference},

MIT Press, pp.~500--514.

\harvarditem[Vanhoof and Bruynooghe]{Vanhoof and

Bruynooghe}{2001}{Vanhoof:LPAR01}

Vanhoof, W. and Bruynooghe, M. (2001).

\newblock Binding-time annotations without binding-time

analysis, {\em in} R.~Nieuwenhuis and A.~Voronkov (eds.), {\em

Logic for Programming, Artificial Intelligence, and Reasoning, LPAR

2001, Proceedings}, LNAI 2250,

Springer-Verlag, pp.~707-722.

\harvarditem[Vanhoof and Martens]{Vanhoof and

Martens}{1997}{VanHoofMartens:Parse}

Vanhoof, W. and Martens, B. (1997).

\newblock To parse or not to parse, {\em in} N.~Fuchs (ed.), {\em

Logic Programming Synthesis and Transformation, LOPSTR'97}, LNCS

1463, Leuven, Belgium, pp.~322--342.

\harvarditem[Venken]{Venken}{1984}{Venken:ECAI84}

Venken, R. (1984).

\newblock A {P}rolog meta interpreter for partial evaluation and its

application to source to source transformation and query optimization,

{\em in} T.~O'Shea (ed.), {\em Advances in Artificial Intelligence,

Proceedings of the Sixth European Conference on Artificial

Intelligence, ECAI-84}, North-Holland,

pp.~91--100.

\harvarditem[Venken and Demoen]{Venken and Demoen}{1988}{VenkenDemoen:NGC88}

Venken, R. and Demoen, B. (1988).

\newblock A partial evaluation system for {P}rolog: Theoretical and practical

considerations, {\em New Generation Computing} {\bf 6}(2 \& 3):~279--290.

\harvarditem[Whaley et al.]{Whaley, Petitet and Dongarra}{2001}{whaley00:ATLAS}

Whaley, R., Petitet, A. and Dongarra, J. (2001).

\newblock Automated empirical optimizations of software and the atlas project,

{\em Parallel Computing} {\bf 27}(1--2):~3--35.

\end{thebibliography}

Corrections

ECS staff and postgraduates may modify this record

  Welcome from Deputy Head of School (Research) Research Prospectus Industrial Partnerships New Research Students Notes for Guidance New Research Students Notes for Guidance
The ECS EPrints Repository supports OAI 2.0 with a base URL of http://eprints.ecs.soton.ac.uk/cgi/oai2

EPrints is free software developed by the University of Southampton to facilitate Open Access to research.
EPrints