Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/154630.154642acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article
Free access

Online partial deduction of logic programs

Published: 01 August 1993 Publication History

Abstract

Partial deduction systems must be guided by an unfolding strategy, telling them which atoms to unfold and when to stop unfolding. Online strategies exploit knowledge accumulated during the unfolding itself, for example in a goal stack, while offline strategies are fixed before unfolding begins. Online strategies are more powerful, but a major overhead for large programs is the analysis time spent on each atom, which increases as the knowledge grows. We describe an online strategy whose analysis time for each atom is independent of the amount of knowledge about that atom. This reduces transformation times for programs with large search spaces by an order of magnitude, while retaining the power of online analysis. Correctness, termination and nontriviality are shown.

References

[1]
Leonard Augustsson. Compiling pattern-matching. In Conference on Functional Programming and Computer Architecture (LNCS 201, ed Jouannaud), page.s 368-381, Nancy, France, 1985.
[2]
R M Burstall and John Darlington. A transformation system for developing recursive programs. Journal of .Association for Computing Machinery, 24(1):44-67, January 1977.
[3]
Richard S Bird. Tabulation techniques for recursive programs. A CM Computing Surveys, 12(4):403-417, December 1982.
[4]
Wei-Ngan Chin. Automatic Methods }or Program Transformation. PhD thesis, Imperial College, University of London, March 1990.
[5]
Wei-Ngan Chin. Safe fusion of functional expressions. In A CM Lisp and Functional Programming Conference, pages 11-20, San Francisco, California, June 1992.
[6]
Wei-Ngan Chin. Synthesizing parallel lemma. In Proc of a JSPS Seminar on Parallel Programming Systems, World Scientific Publishing, pages 201- 217, Tokyo, Japan, May 1992.
[7]
Wei-Ngan Chin. Safe fusion of functional expressions II: Further improvements. TR/DPSG 1, Dept of IS/CS, NUS, February 1993.
[8]
Norman H Cohen. Efiminating redundant recursive calls. A CM Transaction on Programming Languages and Systems, 5(3):265-299, July 1983.
[9]
John Darlington. An experimental program transformation and synthesis system. Artificial Intelligence, 16:1-46, 1981.
[10]
Peter G Harrison. Linearisation : An optimisa~ tion for nonlinear functional programs. Science of Computer Programming, 10(2):1--38, March 1988.
[11]
Hessam Knoshnevisan. Automatic Transformation Systems based on Function-Level Reasoning. PhD thesis, Imperial College, University of London, july 1987.
[12]
Donald Michie. Memo functions and machine learning. Nature, 218:19-22, 1968.
[13]
Alberto Pettorossi. A powerful strategy for deriving programs by transformation. In A CM Lisp and Functional Programming Conference, p~ges 273- 281, 1984.
[14]
N Pippenger. Pebbling. Rc 8258 (# 35937), IBM Thomas J Watson Reserach Centre, May 1980.
[15]
M Proietti and A Pettorossi. Unfolding - definition - folding, in this order for avoiding unnecessary variables in logic programs. In Proc PLILP'91, LNCS 528, pages 347-358, Passau, Germany, August 1991.
[16]
Phil Wadler. Views: A way for pattern-matching to cohabit with data abstraction. In 14th Con} on Principles of Programming Languages, January 1987.
[17]
Phil Wadler. Deforestation: Transforming programs to eliminate trees. In European Symposium on Programming, pages 344-358, Nancy, France, March 1988.

Cited By

View all
  • (2013)BibliographyProgram Specialization10.1002/9781118576984.biblio(487-522)Online publication date: 5-Feb-2013
  • (2008)Derivation of Efficient Logic Programs by Specialization and Reduction of NondeterminismAutomatic Program Development10.1007/978-1-4020-6585-9_12(130-177)Online publication date: 2008
  • (2006)The Ecce and Logen partial evaluators and their web interfacesProceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/1111542.1111557(88-94)Online publication date: 9-Jan-2006
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PEPM '93: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
August 1993
215 pages
ISBN:0897915941
DOI:10.1145/154630
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 1993

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PEPM93
Sponsor:
PEPM93: ACM Symposium on Partial Evaluation
June 14 - 16, 1993
Copenhagen, Denmark

Acceptance Rates

Overall Acceptance Rate 66 of 120 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)96
  • Downloads (Last 6 weeks)15
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2013)BibliographyProgram Specialization10.1002/9781118576984.biblio(487-522)Online publication date: 5-Feb-2013
  • (2008)Derivation of Efficient Logic Programs by Specialization and Reduction of NondeterminismAutomatic Program Development10.1007/978-1-4020-6585-9_12(130-177)Online publication date: 2008
  • (2006)The Ecce and Logen partial evaluators and their web interfacesProceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/1111542.1111557(88-94)Online publication date: 9-Jan-2006
  • (2005)Derivation of Efficient Logic Programs by Specialization and Reduction of NondeterminismHigher-Order and Symbolic Computation10.1007/s10990-005-7008-318:1-2(121-210)Online publication date: 1-Jun-2005
  • (2005)A transformation tool for pure Prolog programsLogic Program Synthesis and Transformation10.1007/3-540-62718-9_8(130-145)Online publication date: 3-Jun-2005
  • (2001)Automated Strategies for Specializing Constraint Logic ProgramsLogic Based Program Synthesis and Transformation10.1007/3-540-45142-0_8(125-146)Online publication date: 2-May-2001
  • (1998)Controlling generalization and polyvariance in partial deduction of normal logic programsACM Transactions on Programming Languages and Systems (TOPLAS)10.1145/271510.27152520:1(208-258)Online publication date: 1-Jan-1998
  • (1995)Towards creating specialised integrity checks through partial evaluation of meta-interpretersProceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/215465.215598(253-263)Online publication date: 23-Jun-1995

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media