skip to main content
10.1145/800017acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ACM1984 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
Salt Lake City Utah USA January 15 - 18, 1984
ISBN:
978-0-89791-125-2
Published:
15 January 1984
Sponsors:
Next Conference
January 19 - 25, 2025
Denver , CO , USA
Bibliometrics
Abstract

No abstract available.

Article
Free
Expressional loops

This paper proposes an expressional loop notation (XLoop) based on the ideas described in [16,17] which makes it practical to express loops as compositions of functions. The primary benefit of XLoop is that it brings the powerful metaphor of expressions ...

Article
Free
Reflection and semantics in LISP
Article
Free
Interactive proof checking

Knowledge of logical inference rules allows a specialized proof editor to provide a user with feedback about errors in a proof under development. Providing such feedback involves checking a collection of constraints on the strings of the proof language. ...

Article
Free
Generalized fair termination

We present a generalization of the known fairness and equifairness notions, called @@@@-fairness, in three versions: unconditional, weak and strong. For each such version, we introduce a proof rule for the @@@@-fair termination induced by it, using well-...

Article
Free
Temporal verification of carrier-sense local area network protocols

We examine local area network protocols and verify the correctness of two representative algorithms using temporal logic. We introduce an interval temporal logic that allows us to make assertions of the form “in the next k units, X holds.” This logic ...

Article
Free
Efficient applicative data types
Article
Free
Stop losing sleep over incomplete data type specifications

We give an algorithm to test the completeness of definitions holding on the rewrite systems that they generate. At the opposite of existing techniques that are very restrictive (left-hand sides of definitions must be linear) or rather inefficient our ...

Article
Free
Systems programming in concurrent prolog

Concurrent Prolog [28] combines the logic programming computation model with guarded-command indeterminacy and dataflow synchronization. It will form the basis of the Kernel Language [21] of the Parallel Inference Machine [36], planned by Japan's Fifth ...

Article
Free
Constraining-unification and the programming language unicorn

Up to this point direct implementations of axiomatic or equational specifications have been limited because the implementation mechanisms used are incapable of capturing the full semantics of the specifications. The programming language Unicorn was ...

Article
Free
Implementation of an interpreter for abstract equations

This paper summarizes a project, introduced in [HO79, HO82b], whose goal is the implementation of a useful interpreter for abstract equations that is absolutely faithful to the logical semantics of equations. The Interpreter was first distributed to ...

Article
Free
Article
Free
Treat - an applicative code generator

Treat is a special purpose language for use in compiler writing. A Treat program translates a graph into c-trees (the intermediate language of the pcc compiler) and uses the back end of the C compiler to generate code. Treat has been developed ...

Article
Free
Inverse currying transformation on attribute grammars

Inverse currying transformation of an attribute grammar moves a context condition to places in the grammar where the violation of the condition can be detected as soon as the semantic information used in the condition is computed. It thereby takes into ...

Article
Free
The global storage needs of a subcomputation

A defining characteristic of “functional” specifications is the absence of assignments: updates of tables and data structures are expressed by giving the relationship between the new and old values. An obvious implementation allocates separate space for ...

Article
Free
A types-as-sets semantics for milner-style polymorphism

In this paper we present a semantics for Milner-style polymorphism in which types are sets. The basic picture is that our programs are actually terms in a typed λ-calculus, in which the type information can be safely deleted from the concrete syntax. In ...

Article
Free
Article
Free
Coercion and type inference

A simple semantic model of automatic coercion is proposed. This model is used to explain four rules for inferring polymorphic types and providing automatic coercions between types. With the addition of a fifth rule, the rules become semantically ...

Article
Free
Editing by example

An editing by example system is an automatic program synthesis facility embedded in a text editor that can be used to solve repetitive text editing problems. The user provides the editor with a few examples of a text transformation. The system analyzes ...

Article
Free
Direct implementation of compiler specifications or the pascal p-code compiler revisited

We have developed a complete formal specification of the translation semantics of the Pascal P-compiler. The specification is written as a semantic grammar (a variant of extended attribute grammars), and has been extensively tested and debugged with the ...

Article
Free
Article
Free
Applicative programming and digital design
Article
Free
Pattern driven lazy reduction: A unifying evaluation mechanism for functional and logic programs

A novel lazy evaluation mechanism, pattern-driven lazy reduction, is developed that serves as a unifying evaluation mechanism for both functional and logic programs. The reduction of a function call can be viewed as “semantically” unifying the function ...

Article
Free
Static inference of properties of applicative programs

An applicative program denotes a function mapping values from some domain to some range. Abstract interpretation of applicative programs involves using the standard denotation to describe an abstract function from a “simplified” domain to a “simplified” ...

Article
Free
The semantics of local storage, or what makes the free-list free?(Preliminary Report)

Denotational semantics for an ALGOL-like language with finite-mode procedures, blocks with local storage, and sharing (aliasing) is given by translating programs into an appropriately typed λ-calculus. Procedures are entirely explained at a purely ...

Article
Free
On relative completeness of programming logics

In this paper a generalization of a certain Lipton's theorem (see Lipton [5]) is presented. Namely, we show that for a wide class of programming languages the following holds: the set of all partial correctness assertions true in an expressive ...

Article
Free
A good Hoare axiom system for an ALGOL-like language

Clarke has shown that it is impossible to obtain a relatively complete axiomatization of a block-structured programming language if it has features such as static scope, recursive procedure calls with procedure parameters, and global variables, provided ...

Article
Free
A hierarchical basis for reordering transformations
Article
Free
A less dynamic memory allocation scheme for algol-like languages

The conventional storage allocation scheme for block structured languages requires the allocation of stack space and the building of a display with each procedure call. This paper describes a technique for analyzing the call graph of a program in a ...

Contributors
  • IBM Thomas J. Watson Research Center
  • University of Wisconsin-Madison

Index Terms

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

    Recommendations

    Acceptance Rates

    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%