Results 1 
6 of
6
A Taxonomy of Functional Language Implementations Part II: CallbyName, CallbyNeed and Graph Reduction
, 1996
"... In Part I [5], we proposed an approach to formally describe and compare functional languages implementations. We focused on callbyvalue and described wellknown compilers for strict languages. Here, we complete our exploration of the design space of implementations by studying callbyname, cal ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
In Part I [5], we proposed an approach to formally describe and compare functional languages implementations. We focused on callbyvalue and described wellknown compilers for strict languages. Here, we complete our exploration of the design space of implementations by studying callbyname, callbyneed and graph reduction. We express the whole compilation process as a succession of program transformations in a common framework. At each step, different transformations model fundamental choices or optimizations. We describe and compare the diverse alternatives for the compilation of the callbyname strategy in both environment and graphbased models. The different options for the compilation of breduction described in [5] can be applied here as well. Instead, we describe other possibilities specific to graph reduction. Callbyneed is nothing but callbyname with redex sharing and update. We present how sharing can be expressed in our framework and we describe different...
What is an Efficient Implementation of the λcalculus?
, 1991
"... We propose to measure the efficiency of any implementation of the λcalculus as a function of a new parameter ν, that is itself a function of any λexpression. Complexity is expressed here as a function of ν just as runtime is expressed as a function of the input size n in ordinary analysis of algori ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We propose to measure the efficiency of any implementation of the λcalculus as a function of a new parameter ν, that is itself a function of any λexpression. Complexity is expressed here as a function of ν just as runtime is expressed as a function of the input size n in ordinary analysis of algorithms. This enables implementations to be compared for worst case efficiency. We argue that any implementation must have complexity Ω(ν), i.e. a linear lower bound. Furthermore, we show that implementations based upon Turner Combinators or Hughes Supercombinators have complexities 2 Ω(ν), i.e. an exponential lower bound. It is open whether any implementation of polynomial complexity, ν O(1), exists, although some implementations have been implicitly claimed to have this complexity.
HigherOrder Rigid EUnification
 5th International Conference on Logic Programming and Automated Reasoning', number 822 in `Lecture Notes in Artificial Intelligence
"... . Higherorder Eunification, i.e. the problem of finding substitutions that make two simply typed terms equal modulo fi or fij equivalence and a given equational theory, is undecidable. We propose to rigidify it, to get a resourcebounded decidable unification problem (with arbitrary high bound ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
. Higherorder Eunification, i.e. the problem of finding substitutions that make two simply typed terms equal modulo fi or fij equivalence and a given equational theory, is undecidable. We propose to rigidify it, to get a resourcebounded decidable unification problem (with arbitrary high bounds), providing a complete higherorder Eunification procedure. The techniques are inspired from Gallier's rigid Eunification and from Dougherty and Johann's use of combinatory logic to solve higherorder Eunification problems. We improve their results by using general equational theories, and by defining optimizations such as higherorder rigid Epreunification, where flexible terms are used, gaining much efficiency, as in the nonequational case due to Huet. 1 Introduction Higherorder Eunification is the problem of finding complete sets of unifiers of two simply typed terms modulo fi or fijequivalence, and modulo an equational theory E . This problem has applications in higherorder a...
Objectives
, 1991
"... We propose to measure the efficiency of any implementation of the λcalculus as a function of a new parameter ν, that is itself a function of any λexpression. Complexity is expressed here as a function of ν just as runtime is expressed as a function of the input size n in ordinary analysis of algor ..."
Abstract
 Add to MetaCart
We propose to measure the efficiency of any implementation of the λcalculus as a function of a new parameter ν, that is itself a function of any λexpression. Complexity is expressed here as a function of ν just as runtime is expressed as a function of the input size n in ordinary analysis of algorithms. This enables implementations to be compared for worst case efficiency. We argue that any implementation must have complexity Ω(ν), i.e. a linear lower bound. Furthermore, we show that implementations based upon Turner Combinators or Hughes Supercombinators have complexities 2Ω(ν), i.e. an exponential lower bound. It is open whether any implementation of polynomial complexity, νO(1), exists, although some implementations have been implicitly claimed to have this complexity. 2
Chapter 1 On Graph Rewriting, Reduction and Evaluation
"... Abstract: We interderive two prototypical styles of graph reduction: reduction machines a ̀ la Turner and graph rewriting systems a ̀ la Barendregt et al. To this end, we adapt Danvy et al.’s mechanical program derivations from the world of terms to the world of graphs. We also outline how to inter ..."
Abstract
 Add to MetaCart
Abstract: We interderive two prototypical styles of graph reduction: reduction machines a ̀ la Turner and graph rewriting systems a ̀ la Barendregt et al. To this end, we adapt Danvy et al.’s mechanical program derivations from the world of terms to the world of graphs. We also outline how to interderive a third style of graph reduction: a graph evaluator. 1.1
Implementations Part II: CallbyName, CallbyNeed and Graph Reduction
"... appor t de r ech er ch e ..."