3 research outputs found

    Measuring the Effectiveness of Partial Evaluation

    No full text
    We introduce a framework for assessing the effectiveness of partial evaluators for functional logic programs. Our framework is based on properties of the rewrite system that models a functional logic program and, consequently, our assessment is independent of any specific language implementation or computing environment. We define several criteria for measuring the cost of a computation: number of steps, number of function applications, and effort for pattern matching. Most importantly, we express the cost of each criterion by means of recurrence equations over algebraic data types, which can be automatically inferred from the partial evaluation process itself. In some cases, the equations can be solved by transforming their arguments from arbitrary data types to natural numbers. In other cases, it is possible to estimate the improvement of a partial evaluation by analyzing the recurrence equations

    Measuring the Effectiveness of Partial Evaluation in Functional Logic Languages

    No full text
    We introduce a framework for assessing the effectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any specific language implementation or computing environment. We define several criteria for measuring the cost of a computation: number of steps, number of function applications, and pattern matching effort. Most importantly, we express the cost of each criterion by means of recurrence equations over algebraic data types, which can be automatically inferred from the partial evaluation process itself. In some cases, the equations can be solved by transforming their arguments from arbitrary data types to natural numbers. In other cases, it is possible to estimate the improvement of a partial evaluation by analyzing the associated cost recurrence equations

    A Formal Approach for Reasoning about the Effectiveness of Partial Evaluation

    No full text
    . The motivation of partial evaluation is to improve efficiency while preserving program meaning. Rather surprisingly, relatively little attention has been paid to the development of formal methods for reasoning about the effectiveness of this program transformation---usually, only experimental tests on particular languages and compilers are undertaken. In this work, we present a formal approach for measuring the effectiveness of partial evaluation which is intended to complement, rather than to replace, more traditional profiling approaches. For this purpose, we introduce several formal criteria to measure the efficiency of functional logic computations which are independent of a concrete implementation. We also provide a method to automatically infer some recurrence equations that relate the cost of executing the original and residual programs. Although a precise estimation of the speedup achieved by partial evaluation is generally undecidable, we outline how these recurre..
    corecore