Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 17 Issue 3, May 1995

Covariance and contravariance: conflict without a cause
Giuseppe Castagna
Pages: 431-447
DOI: 10.1145/203095.203096
In type-theoretic research on object-oriented programming, the issue of “covariance versus contravariance” is a topic of continuing debate. In this short note we argue that covariance and contravariance appropriately characterize two...

Type checking concurrent I/O
W. H. Carlisle
Pages: 448-460
DOI: 10.1145/203095.203097
In parallel programming languages multityped data structures may be shared by two or more processes. Process I/O to these structures is assumed to be physically interleaved but logically parallel. This article addresses a syntactic mechanism to...

BURS automata generation
Todd A. Proebsting
Pages: 461-486
DOI: 10.1145/203095.203098
A simple and efficient algorithm for generating bottom-up rewrite system (BURS) tables is described. A small code-generator generator implementation produces BURS tables efficiently, even for complex instruction set descriptions. The algorithm...

Efficiently computing Φ-nodes on-the-fly
Ron K. Cytron, Jeanne Ferrante
Pages: 487-506
DOI: 10.1145/203095.203099
Recently, Static Single-Assignment Form and Sparse Evaluation Graphs have been advanced for the efficient solution of program optimization problems. Each method is provided with an initial set of flow graph nodes that inherently affect a...

Conjoining specifications
Martín Abadi, Leslie Lamport
Pages: 507-535
DOI: 10.1145/203095.201069
We show how to specify components of concurrent systems. The specification of a system is the conjunction of its components' specifications. Properties of the system are proved by reasoning about its components. We consider both the...

Efficient fault-tolerant algorithms for distributed resource allocation
Manhoi Choy, Ambuj K. Singh
Pages: 535-559
DOI: 10.1145/203095.203101
Solutions to resource allocation problems and other related synchronization problems in distributed systems are examined with respect to the measures of response time, message complexity, and failure locality....