7,482 papers · page 327 of 375
Jiazhen Cai, Robert Paige
It is generally assumed that hashing is essential to many algorithms related to efficient compilation; e.g., symbol table formation and maintenance, grammar manipulation, basic block optimization, and global optimization.This paper questions this assumption, and initiates develop…
Jong-Deok Choi, Ron Cytron, Jeanne Ferrante
In this paper, we present an algorithm that con-structs sparse evaluation graphs for forward or backward monotone data flow problems. The sparse graph combines information as early as possible, yet directly connects nodes that generate and use information. This allows problems fr…
William D. Clinger, Jonathan Rees
Article Macros that work Share on Authors: William Clinger Department of Computer Science, University of Oregon Department of Computer Science, University of OregonView Profile , Jonathan Rees Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, M…
Charles Consel, Olivier Danvy
This paper presents a step forward in the use of partial evaluation for interpreting and compiling programs, as well as for automatically generating a compiler from denotational definitions of programming languages. We determine the static and dynamic semantics of a programming l…
Erik Crank, Matthias Felleisen
The choice of a parameter-passing technique is an important decision in the design of a high-level programming language. To clarify some of the semantic aspects of the decision, we develop, analyze, and compare modifications of the $\\lambda$-calculus for the most common paramete…
Bruce F. Duba, Robert Harper, David B. MacQueen
An extension of Standard ML with continuation primitives similar to those found in Scheme is considered.A number of alternative type systems are discussed, and several programming examples are given.The semantics of type assignment for a small, purely functional fragment of the l…
Robert Harper, Benjamin C. Pierce
Type systems for operations on extensible records form sumpt ion; we argue that the resulting system is more straightforward than subsumption-based alternatives.
Fritz Henglein, Harry G. Mairson
We analyze the computational complexity of type inference for untyped A.terms in the second-order polymorphic typed ~-calculus (l'z) invented by Gi-
Thomas A. Henzinger, Zohar Manna, Amir Pnueli
. We extend the specification language of temporal logic, the corresponding verification framework, and the underlying computational model to deal with real-time properties of concurrent and reactive systems. A global, discrete, and asynchronous clock is incorporated into the mod…
Yuh-Jzer Joung, Scott A. Smolka
A first-order multiparty interaction is an abstraction mechanism that defines communication among a set of formal process roles. Actual processes participate in a first-order interaction by enroling into roles, and execution of the interaction can proceed when all roles are fille…
Pierre Jouvelot, David K. Gifford
We present the first algorithm for reconstructing the types and effects of expressions in the presence of first class procedures in a polymorphic typed language, Effects are static descriptions of the dynamic behavior of expressions.Just as a type describes what an expression com…
Alon Kleinman, Yael Moscowitz, Amir Pnueli, Ehud Shapiro
William Landi, Barbara G. Ryder
A?iasing occurs at some program point during execution when two or more names exist for the same location. We have isolated various programming language mechanisms which create aliases. We have classified the complexity of the fllas problem induced by each mechanism alone and in …
Xavier Leroy, Pierre Weis
We present a new approach to the polymorphic typing of data accepting in-place modification in ML-like languages.This approach is based on restrictions over type generalization, and a refined typing of functions.The type system given here leads to a better integration of imperati…
Steven Lucco, Oliver Sharp
Parallel programs display two fundamentally different kinds of execution behavior: synchronous and asynchronous.Some methodologies, such as distributed data structures, are best suited to the construction of asynchronous programs.In this paper, we propose a methodology for synchr…
Luc Maranget
We introduce the new framework of Labeled
John C. Mitchell, Sigurd Meldal, Neel Madhav
We describe a general module language integrating abstract data types, specifications and object-oriented concepts. The framework is based on the Standard ML module system, with three main extensions: subtyping, a form of object derived from ML structures, and inheritance primiti…
Martin Odersky
We present a safe embedding of mutable data structures in functional languages. With safety we mean that confluence and (in some sense) referential transparency are maintained. We develop a static criterion based on abstract interpretation which checks that any side-effect which …
Keshav Pingali, Micah D. Beck, Richard Johnson, Mayan Moudgill, Paul Stodghill
The topic of intermediate languages for optimizing and parallelizing compilers has received muchattention lately. In this paper, we argue that any good representation of a program must havetwo crucial properties: first, it must be a data structure that can be rapidly traversed to…
Shlomit S. Pinter, Ron Y. Pinter
Programs in languages such as FORTRAN, Pascal, and which our method indeed outperforms existing analysis techniques.