## An Empirical Study of the Runtime Behavior of Higher-Order Logic Programs (1992)

### Cached

### Download Links

Venue: | University of Pennsylvania. Available as |

Citations: | 28 - 7 self |

### BibTeX

@TECHREPORT{Michaylov92anempirical,

author = {Spiro Michaylov and Frank Pfenning},

title = {An Empirical Study of the Runtime Behavior of Higher-Order Logic Programs},

institution = {University of Pennsylvania. Available as},

year = {1992}

}

### Years of Citing Articles

### OpenURL

### Abstract

this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government.

### Citations

303 | D.: Logic programming in a fragment of intuitionistic linear logic
- Hodas, Miller
- 1994
(Show Context)
Citation Context ... on compiler design for higher-order logic programming languages can be found in [11, 16, 18, 19] 2 . At the same time, the language design process for such languages is far from complete. Extensions =-=[2, 7]-=- as well as restrictions [14] of Prolog have been proposed to increase its expressive power or simplify the language theory or its implementation. Obviously, further language design and implementation... |

303 |
The CLP(R) language and system
- Jaffar, Michaylow, et al.
- 1992
(Show Context)
Citation Context ...This leads us to suggest a strategy for efficient implementation of higher-order logic programming languages, which is essentially the strategy described for Constraint Logic Programming languages in =-=[9, 12]-=-. That is: ffl The languages should not be restricted syntactically. ffl The unification instances corresponding to those of Lsshould be identified as directly solvable, and the remainder as hard. Har... |

287 | A logic programming language with lambda-abstraction, function variables, and simple unification
- Miller
- 1991
(Show Context)
Citation Context ...order logic programming languages can be found in [11, 16, 18, 19] 2 . At the same time, the language design process for such languages is far from complete. Extensions [2, 7] as well as restrictions =-=[14]-=- of Prolog have been proposed to increase its expressive power or simplify the language theory or its implementation. Obviously, further language design and implementation efforts must be closely link... |

177 |
An overview of >'Prolog
- Nadathur, Miller
- 1988
(Show Context)
Citation Context ...ool of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890, U.S.A. fp@cs.cmu.edu 1 Introduction Implementation technology for higher-order logic programming languages such as Prolog =-=[17]-=- and Elf [21] is still in its infancy. There are many features of these languages that do not occur in ordinary Prolog programs, such as types, variable binding constructs for terms, embedded implicat... |

175 | Logic programming in the LF logical framework
- Pfenning
- 1991
(Show Context)
Citation Context ...er Science Carnegie Mellon University Pittsburgh, PA 15213-3890, U.S.A. fp@cs.cmu.edu 1 Introduction Implementation technology for higher-order logic programming languages such as Prolog [17] and Elf =-=[21]-=- is still in its infancy. There are many features of these languages that do not occur in ordinary Prolog programs, such as types, variable binding constructs for terms, embedded implication and unive... |

169 |
A unification algorithm for typed -calculus
- Huet
- 1975
(Show Context)
Citation Context ...ider to be some of the central issues and our conclusion. Full unification in higher-order languages is clearly impractical, due to the non-existence of minimal complete sets of most-general unifiers =-=[8]-=-. Therefore, work on Prolog has used Huet's algorithm for pre-unification [8], where so-called flex-flex pairs (which are always unifiable) are postponed as constraints, in effect turning Prolog into ... |

114 |
A unification algorithm for typed λ-calculus
- Huet
- 1975
(Show Context)
Citation Context ...ider to be some of the central issues and our conclusion. Full unification in higher-order languages is clearly impractical, due to the non-existence of minimal complete sets of most-general unifiers =-=[8]-=-. Therefore, work on λProlog has used Huet’s algorithm for pre-unification [8], where so-called flex-flex pairs (which are always unifiable) are postponed as constraints, in effect turning λProlog int... |

109 | Design of the programming language Forsythe
- Reynolds
- 1996
(Show Context)
Citation Context ... of execution trace to natural deductions. There is rather little abstraction. ffl Forsythe --- Forsythe type checking Forsythe is an Algol-like language with intersection types developed by Reynolds =-=[24]-=-. This example involves very few substitutions, all of which are parameter substitutions. Thus the runtime behavior suggests an almost entirely first-order program, which is not apparent from the code... |

99 | An Overview of λProlog
- Nadathur, Miller
- 1988
(Show Context)
Citation Context ...k Pfenning School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890, U.S.A. fp@cs.cmu.edu Implementation technology for higher-order logic programming languages such as λProlog =-=[17]-=- and Elf [21] is still in its infancy. There are many features of these languages that do not occur in ordinary Prolog programs, such as types, variable binding constructs for terms, embedded implicat... |

81 | Partial polymorphic type inference and higher-order unification
- Pfenning
- 1988
(Show Context)
Citation Context ... equivalence proofs of terms in a typed -calculus. A relatively high percentage of the substitutions are non-parameter substitutions. ffl Polylam --- Type inference in the polymorphic lambda calculus =-=[20]-=- Type inference for the polymorphic -calculus involves postponed constraints, but mostly parameter substitutions. Unification can be highly non-deterministic. This is not directly reflected in the giv... |

61 | Unification and anti-unification in the calculus of constructions
- Pfenning
- 1991
(Show Context)
Citation Context ...hese problems have led to a search for natural, decidable subcase of higher-order unification. Miller [14] has suggested a syntactic restriction (Ls) to Prolog, easily extensible to related languages =-=[22]-=-, where most general unifiers are unique modulo fijff-equivalence. Miller's restriction has many attractive features. Unification is deterministic and thrashing behavior due to unification is avoided.... |

59 | A record calculus based on symmetric concatenation
- Harper, Pierce
- 1991
(Show Context)
Citation Context ...lymorphic type discipline, not within the framework). ffl Records --- A lambda-calculus with records and polymorphism Type checking for a lambda-calculus with records and polymorphism as described in =-=[6]-=-. This involves only parameter substitutions, and assumptions are heavily used. ffl DeBruijn [4] A compiler from untyped -terms to terms using deBruijn indices, including a call-by-value operational s... |

56 | Unification of simply typed lambda-terms as logic programming
- Miller
- 1991
(Show Context)
Citation Context ...ication is deterministic and thrashing behavior due to unification is avoided. Higher-order unification in its full power can be implemented if some additional control constructs (when) are available =-=[15]-=-. However, our study suggests that this solution is unsatisfactory, since it has a detrimental effect on programming methodology, and potentially introduces a new efficiency problem. Object-level vari... |

44 | Natural Semantics and some of its meta-theory in Elf
- Michaylov
- 1991
(Show Context)
Citation Context ...e need to understand how often and why programs do not fall into this subset. An important use of general variable applications appears in a rule like the following (taken from a natural semantics in =-=[13]-=-) evalapplam : eval (app E1 E2) V !- eval E1 (lam E1') !- eval E2 V2 !- eval (E1' V2) V. 4 Proceedings of the 1992 Prolog Workshop where we see an application of two existential variables (E1' V2) to ... |

41 | Compiler verification in LF
- Hannan, Pfenning
- 1992
(Show Context)
Citation Context ...ords and polymorphism Type checking for a lambda-calculus with records and polymorphism as described in [6]. This involves only parameter substitutions, and assumptions are heavily used. ffl DeBruijn =-=[4]-=- A compiler from untyped -terms to terms using deBruijn indices, including a call-by-value operational semantics for source and target language. The proof manipulation queries check compiler correctne... |

32 | Implementing the meta-theory of deductive systems
- Pfenning, Rohwedder
- 1991
(Show Context)
Citation Context ..., and the type soundness proof. Because of the large number of cases, indexing has a stronger effect than in all other examples. ffl CPS --- Interpretation of propositional logics and CPS conversions =-=[3, 23]-=- Various forms of conversion of simply-typed terms to continuation-passing and exceptionreturning style. Substitutions are all parameter substitutions, and unification involves an unusually large numb... |

30 |
A representation of lambda terms suitable for operations on their intensions
- Nadathur, Wilson
- 1990
(Show Context)
Citation Context ...ded implication and universal quantification, or dependent types and explicit construction of proofs. Some initial work on compiler design for higher-order logic programming languages can be found in =-=[11, 16, 18, 19]-=- 2 . At the same time, the language design process for such languages is far from complete. Extensions [2, 7] as well as restrictions [14] of Prolog have been proposed to increase its expressive power... |

20 |
A module system for a programming language based on the LF logical framework
- Harper, Pfenning
- 1992
(Show Context)
Citation Context ... number of non-parameter substitutions arise, but mostly unification is first-order. Here, too, there is much redundant type computation. ffl Prop --- Propositional Theorem Proving and Transformation =-=[5]-=- This is mostly first-order. In the transformations between various proof formats (natural deduction and Hilbert calculi), a fairly large number of assumptions arise, and are quite heavily used. Unifi... |

16 | Higher-order and modal logic as a framework for explanation-based generalization
- Dietzen, Pfenning
- 1992
(Show Context)
Citation Context ... on compiler design for higher-order logic programming languages can be found in [11, 16, 18, 19] 2 . At the same time, the language design process for such languages is far from complete. Extensions =-=[2, 7]-=- as well as restrictions [14] of Prolog have been proposed to increase its expressive power or simplify the language theory or its implementation. Obviously, further language design and implementation... |

11 | A Methodology for Managing Hard Constraints in CLP Systems
- Jaffar, Michaylov
- 1991
(Show Context)
Citation Context ...d. Hard constraints should be delayed until they become directly solvable as a result of further variable instantiation. The relevant terminology, concepts and implementation methods are described in =-=[10]-=-. ffl Data structures and algorithms should be designed to favor the simple cases of unification. 2 Properties of Programs Since our concern in this paper is with efficient implementation (and its int... |

10 |
Design and Implementation of Practical Constraint Logic Programming Systems
- Michaylov
- 1992
(Show Context)
Citation Context ...This leads us to suggest a strategy for efficient implementation of higher-order logic programming languages, which is essentially the strategy described for Constraint Logic Programming languages in =-=[9, 12]-=-. That is: ffl The languages should not be restricted syntactically. ffl The unification instances corresponding to those of Lsshould be identified as directly solvable, and the remainder as hard. Har... |

8 |
Implementing Logic Programming Languages with Polymorphic Typing
- Kwon, Nadathur, et al.
- 1991
(Show Context)
Citation Context ...ded implication and universal quantification, or dependent types and explicit construction of proofs. Some initial work on compiler design for higher-order logic programming languages can be found in =-=[11, 16, 18, 19]-=- 2 . At the same time, the language design process for such languages is far from complete. Extensions [2, 7] as well as restrictions [14] of Prolog have been proposed to increase its expressive power... |

2 |
Logical interpretations as computational simulations. Draft paper. Talk given at the North
- Griffin
- 1991
(Show Context)
Citation Context ..., and the type soundness proof. Because of the large number of cases, indexing has a stronger effect than in all other examples. ffl CPS --- Interpretation of propositional logics and CPS conversions =-=[3, 23]-=- Various forms of conversion of simply-typed terms to continuation-passing and exceptionreturning style. Substitutions are all parameter substitutions, and unification involves an unusually large numb... |

1 |
Program Development by Proof Transformation
- Anderson
- 1992
(Show Context)
Citation Context ...tractions over a uvar. Abs/Uv Normalized ratio of such abstractions to substitutions of uvars. The examples used are as follows: ffl Extraction --- Constructive theorem proving and program extraction =-=[1]-=- Spiro Michaylov and Frank Pfenning 7 All Unifications Dynamic Unifications Dynamic/Assume Program Unif %Ind %S %F Dyn %Ind %S %F Ass U/Ass AU/Ass Mini-ML 15333 87 13 0 1532 93 7 0 67 22.87 1.61 Canon... |

1 |
Brisset Olivier Ridoux, Serge Le Huitouze. Prolog/mali. Available via ftp over the Internet
- Pascal
- 1992
(Show Context)
Citation Context ...ded implication and universal quantification, or dependent types and explicit construction of proofs. Some initial work on compiler design for higher-order logic programming languages can be found in =-=[11, 16, 18, 19]-=- 2 . At the same time, the language design process for such languages is far from complete. Extensions [2, 7] as well as restrictions [14] of Prolog have been proposed to increase its expressive power... |