skip to main content
10.1145/154630acmconferencesBook PagePublication PagespepmConference Proceedingsconference-collections
PEPM '93: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
ACM1993 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
PEPM93: ACM Symposium on Partial Evaluation Copenhagen Denmark June 14 - 16, 1993
ISBN:
978-0-89791-594-6
Published:
01 August 1993
Sponsors:

Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
Article
Free
Searching for semantics

We consider the task of generating operational semantics, defined as axiomatizations of relations such as e → v, from an equality theory, given as a set of equations {e1 = e2}. We generate these semantics by constructing derived rules based on equations ...

Article
Free
Partial evaluation of general parsers

Applications of partial evaluation have so far mainly focused on generation of compilers from interpreters for programming languages. We partially evaluate a simple general LR(k) parsing algorithm. To obtain good results, we rewrite the algorithm using ...

Article
Free
Constructor specialization

In the section on “challenging problems” in the proceedings from the first international workshop on partial evaluation and mixed computation [BEJ88] a question is stated: “Can PE be used to generate new specialized data types, in a way analogous to ...

Article
Free
Towards efficient partial evaluation

In general, a partial evaluator needs to keep track of the tasks that have already been completed or initiated, so that it can recognize when to stop unfolding. In the MIX-style polyvariant specialization algorithm, this is accomplished by a global log. ...

Article
Free
Binding-time analysis and the taming of C pointers

The aim of binding-time analysis is to determine when variables, expressions, statements, etc. in a program can be evaluated by classifying these into static (compile-time) and dynamic (run-time). Explicit separation of binding times has turned out to ...

Article
Free
Extracting polyvariant binding time analysis from polyvariant specializer

Polyvariant binding time analysis allows a program to be transformed for improving propagation and usage of static information. It could be a useful instrument for better specializability. We show that the process of such a transformation is of the same ...

Article
Free
Polyvariant binding-time analysis for applicative languages

Binding-time analysis is a crucial component of an offline partial evaluator. The accuracy of the binding-time information that it produces determines the degree of specialization of programs.

We present a binding-time analysis for applicative ...

    Article
    Free
    Higher-order binding-time analysis

    The partial evaluation process requires a binding-time analysis. Binding-time analysis seeks to determine which parts of a program's result is determined when some part of the input is known. Domain projections provide a very general way to encode a ...

    Article
    Free
    Tutorial on specialisation of logic programs

    In this tutorial the specialisation of declarative logic programs is presented. The main correctness results are given, and the outline of a basic algorithm for partial evaluation of a logic program with respect to a goal. The practical considerations ...

    Article
    Free
    Groundness analysis for Prolog: implementation and evaluation of domain prop

    The domain Prop [22,8] is a conceptually simple and elegant abstract domain to compute groundness information for Prolog programs. In particular, abstract substitutions are represented by Boolean functions built using the logical connectives ⇔, ∨, ∧. ...

    Article
    Free
    Online partial deduction of logic programs

    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 ...

    Article
    Free
    Towards an automated tupling strategy

    The tupling transformation strategy can be used to merge loops together by combining recursive calls and also to eliminate redundant calls for a class of programs. The clever (and difficult) step of this transformation strategy is to find an appropriate ...

    Article
    Free
    A safety analysis for functional languages
    Article
    Free
    Proofs by structural induction using partial evaluation

    In this paper we show how partial evaluation can be used in developing proofs about program transformations. Partial evaluation is particularly appropriate for this task because it distinguishes between static and dynamic data. As a realistic example of ...

    Article
    Free
    The correctness of an optimized code generation

    For a functional programming language with a lazy standard semantics, we define a strictness analysis by means of abstract interpretation. Using the information from the strictness analysis we are able to define a code generation which avoids delaying ...

    Article
    Free
    Completeness and predicate-based abstract interpretation

    Traditionally, the theory of abstract interpretation has concentrated on the study of when one interpretation is sound (also safe or correct) with respect to another. We consider the dual notion of when one interpretation is complete with respect to ...

    Article
    Free
    Polymorphic strictness analysis using frontiers

    This paper shows how to implement sensible polymorphic strictness analysis using the Frontiers algorithm. A central notion is to only ever analyse each function once, at its simplest polymorphic instance. Subsequent non-base uses of functions are dealt ...

    Article
    Free
    Improving abstract interpretations by combining domains

    In this paper we consider static analyses based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains potentially provide more information than obtainable by performing the independent ...

    Article
    Free
    A partial evaluator for data flow graphs

    It has been shown that control flow decisions often reduce the amount of fine-grain, or instruction-level parallelism in many computations. There exists various architectural solutions to this problem, such as branch prediction and speculative execution...

    Contributors
    • Kansas State University

    Recommendations

    Acceptance Rates

    Overall Acceptance Rate66of120submissions,55%
    YearSubmittedAcceptedRate
    PEPM '15271452%
    PEPM '14221777%
    PEPM '13291345%
    PEPM '02221150%
    PEPM '00201155%
    Overall1206655%