skip to main content
10.1145/75277acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
POPL '89: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM1989 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
POPL89: Symposium on the Principles of Programming Languages Austin Texas USA January 11 - 13, 1989
ISBN:
978-0-89791-294-5
Published:
03 January 1989
Sponsors:
Next Conference
January 19 - 25, 2025
Denver , CO , USA
Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
Article
Free
The program dependence graph and vectorization

Previous attempts at vectorizing programs written in a sequential high level language focused on converting control dependences to data dependences using a mechanism known as IF-conversion. After IF-conversion vector optimizations are performed on a ...

Article
Free
A rewriting semantics for program dependence graphs

Program dependence graphs are an important program representation technique for use in vectorization, parallelization and programming environments. We present a graph rewriting semantics for program dependence graphs and prove the equivalence between ...

Article
Free
Resolving circularity in attribute grammars with applications to data flow analysis (preliminary version)

Circular attribute grammars appear in many data flow analysis problems. As one way of making the notion useful, an automatic translation of circular attribute grammars to equivalent non-circular attribute grammars is presented. It is shown that for ...

Article
Free
Fast interprocedual alias analysis

We present a new algorithm for computing interprocedural aliases due to passing parameters by reference. This algorithm runs in O(N2+NE) time and, when combined with algorithms for alias-free, flow-insensitive data-flow problems, yields algorithms for ...

Article
Free
How to make ad-hoc polymorphism less ad hoc

This paper presents type classes, a new approach to ad-hoc polymorphism. Type classes permit overloading of arithmetic operators such as multiplication, and generalise the “eqtype variables” of Standard ML. Type classes extend the Hindley/Milner ...

Article
Free
Type checking records and variants in a natural extension of ML

Strongly typed languages with records may have inclusion rules so that records with more fields can be used instead of records with less fields. But these rules lead to a global treatment of record types as a special case. We solve this problem by ...

Article
Free
Extracting Ω's programs from proofs in the calculus of constructions

We define in this paper a notion of realizability for the Calculus of Constructions. The extracted programs are terms of the Calculus that do not contain dependent types. We introduce a distinction between informative and non-informative propositions. ...

Article
Free
Polymorphic unification and ML typing

We study the complexity of type inference for a core fragment of ML with lambda abstraction, function application, and the polymorphic let declaration. Our primary technical tool is the unification problem for a class of “polymorphic” type expressions. ...

Article
Free
Moded type systems for logic programming

Most of the theoretical work on the semantics of logic programs assumes an interpreter that provides a complete resolution procedure. In contrast, for reasons of efficiency, most logic programming languages are built around incomplete procedures. This ...

Article
Free
CLP and constraint abstraction

CLP*(D) is a class of constraint logic programming languages which incorporates the notion of abstraction. Predicates in CLP*(D) are (potentially) infinite rational trees which represent abstractions of constraint expressions. This view of predicates as ...

Article
Free
Fully abstract compositional semantics for logic programs

We propose a framework for discussing fully abstract compositional semantics, which exposes the interrelations between the choices of observables, compositions, and meanings. Every choice of observables and compositions determines a unique fully ...

Article
Free
A calculus of higher order communicating systems

In this paper we present A Calculus of Higher Order Communicating Systems. This calculus considers sending and receiving processes to be as fundamental as nondeterminism and parallel composition.

The calculus is an extension of CCS [Mil80] in the sense ...

Article
Free
A fully abstract trace model for dataflow networks

A dataflow network consists of nodes that communicate over perfect FIFO channels. For dataflow networks containing only deterministic nodes, a simple and elegant semantic model has been presented by Kahn. However, for nondeterministic networks, the ...

Article
Free
Efficient temporal reasoning (extended abstract)

There has been much interest in decision procedures for testing satisfiability (or validity) of formulae in various systems of Temporal Logic. This is due to the potential applications of such decision procedures to mechanical reasoning about ...

Article
Free
On the synthesis of a reactive module

We consider the synthesis of a reactive module with input x and output y, which is specified by the linear temporal formula @@@@(x, y). We show that there exists a program satisfying @@@@ iff the branching time formula (∀x) (∃y) A@@@@(x, y) is valid ...

Article
Free
Synthesis of concurrent systems with many similar sequential processes (extended abstract)

Methods for synthesizing concurrent programs from Temporal Logic specifications based on the use of a decision procedure for testing temporal satisfiability have been proposed by Emerson & Clarke [EC82] and Manna & Wolper [MW84]. An important advantage ...

Article
Free
The Modula–3 type system

This paper presents an overview of the programming language Modula-3, and a more detailed description of its type system.

Article
Free
Dynamic typing in a statically-typed language

Statically-typed programming languages allow earlier error checking, better enforcement of disciplined programming styles, and generation of more efficient object code than languages where all type-consistency checks are performed at runtime. However, ...

Article
Free
Relating models of polymorphism

A new general notion of model for the polymorphic lambda calculus based on the simple idea of a universe, is proposed. Although impossible in nonconstructive set theory, the notion is unproblematic for constructive sets, yields completeness and ...

Article
Free
Generalized conjunctive types

The definitions of Conjunctive types and their subtype relation, as introduced by Coppo-Dezani, are extended to consider the conjunction as a partial mapping from pairs of types to types, and the subtype relation as a relation between finite sets of ...

Article
Free
Rewrite, rewrite, rewrite, rewrite, rewrite...

The theory of term rewriting systems has important applications in abstract data type specifications and functional programming languages. We begin here a study of properties of systems that are not necessarily terminating, but allow for infinite ...

Article
Free
Partial order programming (extended abstract)

We introduce a programming paradigm in which statements are constraints over partial orders. A partial order programming problem has the form minimize u subject to u1v1, u2v2, ··· where u is the goal, and u1v1, u2v2, ··· is a collection of ...

    Article
    Free
    Temporal logic programming is complete and expressive

    This paper addresses semantic and expressiveness issues for temporal logic programming and in particular for the TEMPLOG language proposed by Abadi and Manna. Two equivalent formulations of TEMPLOG's declarative semantics are given: in terms of a ...

    Article
    Free
    Realistic compilation by program transformation (detailed summary)

    Using concepts from denotational semantics, we have produced a very simple compiler that can be used to compile standard programming languages and produces object code as efficient as that of production compilers. The compiler is based entirely on ...

    Article
    Free
    Continuation-passing, closure-passing style

    We implemented a continuation-passing style (CPS) code generator for ML. Our CPS language is represented as an ML datatype in which all functions are named and most kinds of ill-formed expressions are impossible. We separate the code generation into ...

    Article
    Free
    Copy elimination in functional languages

    Copy elimination is an important optimization for compiling functional languages. Copies arise because these languages lack the concepts of state and variable; hence updating an object involves a copy in a naive implementation. Copies are also possible ...

    Article
    Free
    Incremental computation via function caching
    Article
    Free
    Unified algebras and modules

    This paper concerns the algebraic specification of abstract data types. It introduces and motivates the recently-developed framework of unified algebras, and provides a practical notation for their modular specification. It also compares unified ...

    Article
    Free
    Bisimulation through probabilistic testing (preliminary report)

    We propose a language for testing concurrent processes and examine its strength in terms of the processes that are distinguished by a test. By using probabilistic transition systems as the underlying semantic model, we show how a testing algorithm with ...

    Contributors

    Index Terms

    1. Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages

      Recommendations

      Acceptance Rates

      POPL '89 Paper Acceptance Rate30of191submissions,16%Overall Acceptance Rate824of4,130submissions,20%
      YearSubmittedAcceptedRate
      POPL '152275223%
      POPL '142205123%
      POPL '041762916%
      POPL '031262419%
      POPL '021282822%
      POPL '011262419%
      POPL '001513020%
      POPL '991362418%
      POPL '981753218%
      POPL '972253616%
      POPL '961483423%
      POPL '941733923%
      POPL '931993920%
      POPL '922043015%
      POPL '911523120%
      POPL '891913016%
      POPL '881772816%
      POPL '871082927%
      POPL '831702816%
      POPL '821213831%
      POPL '811212420%
      POPL '791462718%
      POPL '781352720%
      POPL '771052524%
      POPL '76902022%
      POPL '751002323%
      POPL '731002222%
      Overall4,13082420%