Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/158511acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
POPL '93: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM1993 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
POPL93: 20th ACM Symposium on Principles of Programming Languages Charleston South Carolina USA
ISBN:
978-0-89791-560-1
Published:
01 March 1993
Sponsors:
Next Conference
Reflects downloads up to 14 Nov 2024Bibliometrics
Abstract

No abstract available.

Article
Free
Array-data flow analysis and its use in array privatization

Data-flow analysis of scalar variables and data dependence analysis on array elements are two important program analyses used in optimizing and parallelizing compilers. Traditional data-flow analysis models accesses of array elements simply as accesses ...

Article
Free
Automatic array alignment in data-parallel programs

Data-parallel languages like Fortran 90 express parallelism in the form of operations on data aggregates such as arrays. Misalignment of the operands of an array operation can reduce program performance on a distributed-memory parallel machine by ...

Article
Free
A novel framework of register allocation for software pipelining

Although software pipelining has been proposed as one of the most important loop scheduling methods, simultaneous scheduling and register allocation is less understood and remains an open problem [28]. The objective of this paper is to develop a unified ...

Article
Free
Call by name, assignment, and the lambda calculus

We define an extension of the call-by-name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept of an explicit store nor a concept of evaluation ...

Article
Free
On the orthogonality of assignments and procedures in Algol

According to folklore, Algol is an “orthogonal” extension of a simple imperative programming language with a call-by-name functional language. The former contains assignments, branching constructs, and compound statements; the latter is based on the ...

Article
Free
Imperative functional programming

We present a new model, based on monads, for performing input/output in a non-strict, purely functional language. It is composable, extensible, efficient, requires no extensions to the type system, and extends smoothly to incorporate mixed-language ...

Article
Free
Communicating reactive processes

We present a new programming paradigm called Communicating Reactive Processes or CRP that unifies the capabilities of asynchronous and synchronous concurrent programming languages. Asynchronous languages such as CSP, OCCAM, or ADA are well-suited for ...

Article
Free
Semantics for communication primitives in a polymorphic language

We propose a method to extend an ML-style polymorphic language with transparent communication primitives, and give their precise operational semantics. These primitives allow any polymorphic programs definable in ML to be used remotely in a manner ...

Article
Free
A concurrent, generational garbage collector for a multithreaded implementation of ML

This paper presents the design and implementation of a “quasi real-time” garbage collector for Concurrent Caml Light, an implementation of ML with threads. This two-generation system combines a fast, asynchronous copying collector on the young ...

Article
Free
Separating stages in the continuation-passing style transformation

The continuation-passing style (CPS) transformation is powerful but complex. Our thesis is that this transformation is in fact compound, and we set out to stage it. We factor the CPS transformation into several steps, separating aspects in each step: (1)...

Article
Free
Specifying the correctness of binding-time analysis

Mogensen has exhibited a very compact partial evaluator for the pure lambda calculus, using binding-time analysis followed by specialization. We give a correctness criterion for this partial evaluator and prove its correctness relative to this ...

Article
Free
A natural semantics for lazy evaluation

We define an operational semantics for lazy evaluation which provides an accurate model for sharing. The only computational structure we introduce is a set of bindings which corresponds closely to a heap. The semantics is set at a considerably higher ...

Article
Free
Formal parametric polymorphism

A polymorphic function is parametric if its behavior does not depend on the type at which it is instantiated. Starting with Reynolds' work, the study of parametricity is typically semantic. In this paper, we develop a syntactic approach to parametricity,...

Article
Relational parametricity and local variables

J. C. Reynolds suggested that Strachey's intuitive concept of “parametric” (i.e., uniform) polymorphism is closely linked to representation independence, and used logical relations to formalize this principle in languages with type variables and user-...

Article
Free
Algebraic reasoning and completeness in typed languages

We consider the following problem in proving observational congruences in functional languages: given a call-by-name language based on the simply-typed λ-calculus with algebraic operations axiomatized by algebraic equations E, is the set of ...

Article
Free
Graph types

Recursive data structures are abstractions of simple records and pointers. They impose a shape invariant, which is verified at compile-time and exploited to automatically generate code for building, copying, comparing, and traversing values without loss ...

Article
Free
Explicit polymorphism and CPS conversion

We study the typing properties of CPS conversion for an extension of Fω with control operators. Two classes of evaluation strategies are considered, each with call-by-name and call-by-value variants. Under the “standard” strategies, constructor ...

Article
Free
Polymorphism by name for references and continuations

This article investigates an ML-like language with byname semantics for polymorphism: polymorphic objects are not evaluated once for all at generalization time, but re-evaluated at each specialization. Unlike the standard ML semantics, the by-name ...

Article
Free
Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects

We present practical approximation methods for computing interprocedural aliases and side effects for a program written in a language that includes pointers, reference parameters and recursion. We present the following results: 1) An algorithm for flow-...

Article
Free
Automatic generation and management of interprocedural program analyses

We have designed and implemented an interprocedural program analyzer generator, called system Z. Our goal is to automate the generation and management of semantics-based interprocedural program analysis for a wide range of target languages.

System Z is ...

Article
Free
Static single assignment for explicitly parallel programs

We describe and prove algorithms to convert programs which use the Parallel Computing Forum Parallel Sections construct into Static Single Assignment (SSA) form. This proces allows compilers to apply classical scalar optimization algorithms to ...

Article
Free
Constructing call multigraphs using dependence graphs
Article
Free
Safe type checking in a statically-typed object-oriented programming language

In this paper we introduce a statically-typed, functional, object-oriented programming language, TOOPL, which supports classes, objects, methods, instance variable, subtypes, and inheritance.

It has proved to be surprisingly difficult to design ...

Article
Free
Object-oriented programming without recursive types

It is widely agreed that recursive types are inherent in the static typing of the essential mechanisms of object-oriented programming: encapsulation, message passing, subtyping, and inheritance. We demonstrate here that modeling object encapsulation in ...

Article
Free
A constructive logic of multiple subtyping

We show how a higher order logic, the calculus of constructions, can be used to give a simple, first principles treatment of record calculi, polymorphism, and subtyping. The development follows the constructive idiom of extracting implementations of ...

Article
Free
Stratified functional programs and computational complexity
Article
Free
The 3 R's of optimizing constraint logic programs: refinement, removal and reordering

Central to constraint logic programming (CLP) languages is the notion of a global constraint solver which is queried to direct execution and to which constraints are monotonically added. We present a methodology for use in the compilation of CLP ...

Article
Free
Layer sharing: an improved structure-sharing framework

We present in this paper a structure–sharing framework originally developed for a Dynamic Programming interpreter of Logic programs called DyALog. This mechanism should be of interest for alternative execution models of PROLOG which maintain multiple ...

Contributors
  • IBM Thomas J. Watson Research Center
  • University of Orléans
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations

Acceptance Rates

POPL '93 Paper Acceptance Rate 39 of 199 submissions, 20%;
Overall Acceptance Rate 824 of 4,130 submissions, 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%