1,205 papers · page 53 of 61
Richard S. Bird
The promotion strategy in transformational programming is a general method for achieving efficiency by exploiting the recursive structure in the dominant term of an algorithmic expression.For it to be carried out successfully, the original problem often has to be generalized by t…
Timothy A. Budd
Although vector processors have been available for over a decade, the software necessary to make effective use of these facilities has generally not been available.In this paper the design of a compiler for the programming language APL, which produces code that allows most operat…
F. Warren Burton
When evaluating a functional program on a network of processors, it is necessary to decide when parallelism is desirable, which work may be transferred to another processor, and in what form the work is to be transferred.If the wrong decisions are made, a parallel evaluation may …
Robert D. Cameron, Mabo Robert Ito
A metaprogramming system is a programming facility (subprogramming system or language) whose basic data objects include the programs and program fragments of some particular programming language, known as the target language of the system.Such systems are designed to facilitate t…
K. Mani Chandy, Jayadev Misra
The problem of resolving conflicts between processes in distributed systems is of practical importance.A conflict between a set of processes must be resolved in favor of some (usually one) process and against the others: a favored process must have some property that distinguishe…
L. Colussi
A general translation rule from recursive procedures to iterative ones is augmented by also translating the correctness proof.The augmented translation rule is defined within the framework of Pascal programs, with the correctness proof expressed in the Hoare style.The translation…
Robert L. Constable, Daniel R. Zlatin
article Free Access Share on The Type Theory of PL/CV3 Authors: Robert L. Constable Department of Computer Science, 405 Upson Hall, Cornell University, Ithaca, N.Y. Department of Computer Science, 405 Upson Hall, Cornell University, Ithaca, N.Y.View Profile , Daniel R. Zlatin Dep…
Jack W. Davidson, Christopher W. Fraser
This paper shows how thorough object code optimization has simplified a compiler and made it easy to retarget.The code generator forgoes case analysis and emits naive code that is improved by a retargetable object code optimizer.With this technique, cross-compilers have been buil…
Peter Dencker, Karl Dürre, Johannes Heuft
Six methods for parser table compression are compared.The investigations are focused on four methods that allow the access of table entries with a constant number of index operations.The advantage of these methods is that the access to the compressed tables can be programmed effi…
Michael P. Georgeff
A scheme is described that allows languages supporting higher order functions to be efficiently implemented using a standard run-time stack.A machine for evaluating typed lambda expressions is first constructed.In essence, the machine simply extends the standard SECD machine to a…
Richard F. Hobson
A canonical internal form for APL is derived.A directly executable language (ADEL) follows DEL principles first developed by Flynn and Hoevel.APL usage statistics are reported and used to help determine an efficient encoding strategy.Two execution models are discussed.The models …
M. Elizabeth C. Hull, R. M. McKeag
This paper demonstrates how the notation of Communicating Sequential Processes may be used in the design of an operating system.It goes further to show how such an approach assists in the design and development of a system distributed over a network of computers.The technique use…
Richard Alan Karp
In a failure-free concurrent system, no process is delayed forever by any of the system synchronization primitives.Previously, it was difficult to prove even the simplest concurrent system failure free, let alone attempt such a proof for a "real" operating system.First for semaph…
Takuya Katayama
An efficient method for evaluating attribute grammars by translating them into sets of procedures is presented.The basic idea behind the method is to consider nonterminal symbols of the grammar as functions that map their inherited attributes to their synthesized attributes.Assoc…
Arie E. Kaufman
Two improved variations of the binary buddy system for dynamic memory management, the tailoredlist buddy system (TLBS) and the recombination-delaying buddy system (RDBS), are introduced.In an attempt to save on execution time, these variations do not recombine free buddies every …
Ephraim Korach, Doron Rotem, Nicola Santoro
The problem of determining in a distributed fashion the centers and the medians of a network is considered.Lower bounds on the time needed to solve these problems are proved.Algorithms that achieve those bounds for tree networks are presented; the number of exchanged messages is …
Wilf R. LaLonde
article Free Access Share on Technical Correspondence: Comments on Soisalon-Soininen's ``Inessential Error Entries and Their Use in LR Parser Optimization'' Author: Wilf R. LaLonde School of Computer Science, Carleton University, Colonel By Drive, Ottawa, Canada K1S 5B6 School of…
Leslie Lamport
A general method is described for implementing a distributed system with any desired degree of faulttolerance.Instead of relying upon explicit timeouts, processes execute a simple clock-driven algorithm.Reliable clock synchronization and a solution to the Byzantine Generals Probl…
Leslie Lamport, Fred B. Schneider
Generalized Hoare Logic is a formal logical system for deriving invariance properties of programs.It provides a uniform way to describe a variety of methods for reasoning about concurrent programs, including noninterference, satisfaction, and cooperation proofs.We describe a simp…
Zohar Manna, Pierre Wolper
In this paper, Propositional Temporal Logic (PTL) is applied to the specification and synthesis of the synchronization part of communicating processes.To specify a process, a PTL formula that describes its sequence of communications is given.The synthesis is done by constructing …