Home     Top: Programming: Compiler Design    [Compiler Design   Compiler Optimization   Functional   Java   LISP   Logic   Memory Management   Object-oriented   Open Source   Semantics]

Change ordering:   Authority   Hubs (tutorials)   Date   Expected authority       Show titles only
Tutorials/surveys/introductory articles (ordered by the degree of citation of authoritative articles)

This directory is created automatically and some papers may be mislabeled. Only document within the CiteSeer database are listed. The directory is intended to provide entry points for browsing the database and is not intended to be authoritative. Papers may not appear in all relevant categories. For example, papers in a sub-category may not appear in higher level categories.

11614.5   Data-parallel Implementation of Prolog - Bevemyr (1996)   (Correct)
Bevemyr, J. 1996: Data-parallel Implementation of Prolog, Uppsala Theses in Computing Science 25. 38 pp. Uppsala. ISSN 0283--359X, ISBN 91--506--1177--1. Parallel computers are rarely used to make ind... / intriguing fields of parallel programming and abstract machine design and

10973.3   The VDM Bibliography - Larsen (1995)   (Correct)
This document contains the annotated VDM bibliography with 592 entries related to VDM. The listed items come from a wide variety of sources, but unfortunately the list is not yet exhaustive. This ver... / . Jones d C.B. Jones. Compiler Design. In Formal Specification and br of the U.S. Government Ada Joint Programme Office ffl occamRfl is

10464.1   Optimizing Fortran90D/HPF for Distributed-Memory Computers - Roth (1997)   (Correct)
High Performance Fortran (HPF), as well as its predecessor FortranD, has attracted considerable attention as a promising language for writing portable parallel programs for a wide variety of distribut... / distributed-memory architectures. Programmers express data parallelism br parallel machine an HPF compiler must do a superb job of

9591.4   Automatic Program Parallelization - Banerjee, Eigenmann, Nicolau (1993)   (Correct)
This paper presents an overview of automatic program parallelization techniques. It covers dependence analysis techniques, followed by a discussion of program transformations, including straight-line ... / machine organization and good programming methodology. Developing br effectiveness of parallelizing compilers. Introduction The last

9193.8   Advanced Languages for Systems Software The Fox Project in 1994 - Harper, Lee (1994)   (Correct)
It has been amply demonstrated in recent years that careful attention to the structure of systems software can lead to greater flexibility, reliability, and ease of implementation, without incurring a... / three areas of language design compiler technology and systems br modules type theory compilers programming languages Abstract It

8141.7   Compiling Standard ML For Efficient Execution On Modern Machines - Shao (1994)   (Correct)
Many language theoreticians have taken great efforts in designing higher-level programming languages that are more elegant and more expressive than conventional languages. However, few of these new la... / efforts in designing higher-level programming languages that are more br performance of the non-type-based compiler by about on a DECstation

7735.1   Runtime Support For In-Core And Out-Of-Core Data-Parallel Programs - Thakur (1995)   (Correct)
Distributed memory parallel computers or distributed computer systems are widely recognized as the only cost-effective means of achieving teraflops performance in the near future. However, the fact re... / library from the basic compiler design portability is enhanced br portability and ease of programming. It can also be used together

7644.0   HFS: A flexible file system for shared-memory multiprocessors - Krieger (1994)   (Correct)
The HURRICANE File System (HFS) is designed for large-scale, shared-memory multiprocessors. Its architecture is based on the principle that a file system must support a wide variety of file structures... / . Object-oriented programming br system to allow the application or compiler to determine file structure and

7611.8   Compiler Support for Machine-Independent Parallelization of Irregular .. - von Hanxleden (1994)   (Correct)
The Fortran D group at Rice University aims at providing a machine independent data parallel programming style, in which the applications programmer uses a dialect of sequential Fortran and high level... / Distributed memory compiler design for sparse problems. ICASE br independent data parallel programming style in which the

7475.7   Adaptive Optimization For Self: Reconciling High Performance With.. - Hölzle (1994)   (Correct)
Object-oriented programming languages confer many benefits, including abstraction, which lets the programmer hide the details of an object's implementation from the object's clients. Unfortunately, cr... / Performance With Exploratory Programming A Dissertation Submitted To

7387.5   A Framework for Programming Embedded Systems: Initial Design and.. - Thrun (1998)   (Correct)
This paper describes CES, a proto-type of a new programming language for robots and other embedded systems, equipped with sensors and actuators. CES contains two new ideas, currently not found in othe... / A Framework for Programming Embedded Systems Initial

7014.7   Design, Analysis and Reasoning about Tools: Abstracts from the Third.. - Nielson, (Ed.) (1993)   (Correct)
s from the Third Workshop Flemming Nielson (editor) October 1993 1 Introduction The third DART workshop took place on Thursday August l9th and Friday August 20th at the Department of Computer Science... / as part of the Danish Research Programme on Informatics. To date it has br applications were to develop compilers from interpreters and

6631.4   Language Features for Re-use and Extensibility in Concurrent.. - Matsuoka (1993)   (Correct)
ions : : : : : : : : : : : : : : : : : : : : 21 3.3 Problems with First-Classing of Accept Sets --- Enabled Sets : : : : : : : 22 3.4 Problems with Method Guards : : : : : : : : : : : : : : : : : : : ... / In Concurrent Object-Oriented Programming Languages Thesis Draft

6628.8   The Evolution of Lisp - Steele, Jr., Gabriel (1993)   (Correct)
Lisp is the world's greatest programming language---or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting f... / Lisp is the world's greatest programming language-or so its proponents

6566.4   Reflection and Hyper-Programming in Persistent Programming Systems - Kirby (1992)   (Correct)
In an orthogonally persistent programming system, data is treated in a manner independent of its persistence. This gives simpler semantics, allows the programmer to ignore details of long-term data st... / G.N.C. Reflection and Hyper-Programming in Persistent Programming

6512.8   A High Level Language for Specifying Graph-Based Languages and their.. - Kleyn (1995)   (Correct)
This dissertation addresses the problem of creating interactive graphical programming environments for visual programming languages that are based on directed graph models of computation. Such program... / . . Compiler br Graph-Based Languages And Their Programming Environments Approved By

6245.0   Scheduling And Code Generation For Parallel Architectures - Yang (1993)   (Correct)
OF THE DISSERTATION Scheduling and Code Generation for Parallel Architectures by Tao Yang, Ph.D. Dissertation Director: Professor Apostolos Gerasoulis Automatic partitioning, scheduling and code gener... / discussion Milind Deshpande for programming the X window schedule br importance in the development of compilers for massively parallel

6112.0   1983-1993: The Wonder Years of Sequential Prolog Implementation - Van Roy (1993)   (Correct)
This report surveys the major developments in sequential Prolog implementation during the period 1983--1993. In this decade, implementation technology has matured to such a degree that Prolog has left... / architecture and significant compiler design was done for it. It was br appear in the Journal of Logic Programming tenth anniversary issue

5981.4   High-Performance All-Software Distributed Shared Memory - Johnson (1995)   (Correct)
The C Region Library (CRL) is a new all-software distributed shared memory (DSM) system. CRL requires no special compiler, hardware, or operating system support beyond the ability to send and receive ... / shared address space programming model that is capable of br system. CRL requires no special compiler hardware or operating system

5915.6   Architectures and Patterns for Developing High-performance, Real-time .. - Schmidt, Levine, Cleeland (1999)   (Correct)
Many types of applications can benefit from flexible and open middleware. CORBA is an emerging middleware standard for Object Request Brokers (ORBs) that simplifies the development of distributed appl... / using low-level network programming mechanisms like sockets br Repository Repository Idl Idl Compiler Compiler Dii Dii Orb Orb

5864.9   Efficient Machine-Independent Programming of High-Performance.. - Tseng (1995)   (Correct)
mainly because the cost of interprocessor communication is too great compared to computation and local memory accesses [74, 77]. To achieve high performance, COSMIC will perform communicationanalysis ... / Shared-Memory Compiler Design . Communication br Efficient Machine-Independent Programming of High-Performance

5645.7   A Compiler-Directed Distributed Shared Memory System - Verma (1996)   (Correct)
of the Dissertation A Compiler-Directed Distributed Shared Memory System by Manish Verma Doctor of Philosophy in Computer Science State University of New York at Stony Brook 1996 This dissertation p... / . . Programming Paradigms for NOWs .

5645.2   HPF-2 Scope of Activities and Motivating Applications - Forum (1994)   (Correct)
ion. Yet another interaction mechanism, proposed by Chapman et al. [20], uses shared modules with access controlled by a monitor mechanism. A form of remote procedure call is used to operate on data i... / that these are not sufficient for programming at least some complex br same processor. It is up to the compiler to match the computation mapping

5637.8   Communication Generation for Data-Parallel Languages - Sethi (1996)   (Correct)
Data-parallel languages allow programmers to use the familiar machine-independent programming style to develop programs for multiprocessor systems. These languages relieve users of the tedious task of... / Data-parallel languages allow programmers to use the familiar br and error-prone task to the compilers for the languages. Since remote

5587.7   Mechanisms and Interfaces for Software-Extended Coherent Shared Memory - Chaiken (1994)   (Correct)
Software-extended systems use a combination of hardware and software to implement shared memory on large-scale multiprocessors. Hardware mechanisms accelerate common-case accesses, while software hand... / with and without help from programmers. An automatic optimization br from the runtime system to the compiler. The compiler uses this

5533.4   Partial Evaluation: Principles and Perspectives - Consel, Danvy (1993)   (Correct)
The last years have witnessed a flurry of new results in the area of partial evaluation. These tutorial notes survey the field and present a critical assessment of the state of the art. 1 Introduction... / Such functions exist in most programming languages e.g.format br areas that include compiling and compiler generation

5510.7   Symbolic Analysis for Parallelizing Compilers - Haghighat (1994)   (Correct)
Symbolic Domain The objects in our abstract symbolic domain are canonical symbolic expressions. A canonical symbolic expression is a lexicographically ordered sequence of symbolic terms. Each symboli... / D. . Software Engineering Programming Environments D. . br Analysis for Parallelizing Compilers MOHAMMAD R. HAGHIGHAT Intel

5315.6   Concurrency and Distribution in Object-Oriented Programming - Briot, GUERRAOUI, Löhr (1998)   (Correct)
This paper aims at classifying and discussing the various ways along which the object paradigm is used in concurrent and distributed contexts. We distinguish the library approach, the integrative app... / Distribution in Object-Oriented Programming Jean-Pierre BRIOT

5251.5   The CCLRC HPCI Centre at Daresbury Laboratory - Allan, Lockey (1996)   (Correct)
Parallel software packages which may be of use in scientific and engineering applications of the type carried out on the parallel computing facilities at EPCC and Daresbury Laboratory are surveyed. Fo... / Alternative Programming Models . ADSMITH br . PSI Compiler

5068.0   Massively Parallel Computing: Mathematics and communications libraries - Johnsson, Mathur (1993)   (Correct)
Massively parallel computing holds the promise of extreme performance. The utility of these systems will depend heavily upon the availability of libraries until compilation and run-- time system techn... / and fat-trees. Some systems are programmed as a shared memory machine br The techniques are incorporated as compiler directives for the Connection

5045.6   A Survey of Program Slicing Techniques - Tip (1995)   (Correct)
A program slice consists of the parts of a program that (potentially) affect the values computed at some point of interest, referred to as a slicing criterion. The task of computing program slices is ... / D. . Software engineering Programming environments D. . Software br are investigated. We discuss how compiler-optimization techniques can be

5026.4   Algorithmic Redistribution Methods for Block Cyclic Decompositions - Petitet (1996)   (Correct)
This research aims at creating and providing a framework to describe algorithmic redistribution methods for various block cyclic decompositions. To do so properties of this data distribution scheme ar... / is recommended by data parallel compiler designers as one way to proceed br . The Parallel Programming Problem A Concrete Example

5000.9   Putting It In Context: A Syntactic Theory Of Incremental Program.. - Shinn-Der Lee (1996)   (Correct)
The ability to construct programs in an incremental fashion is a premise of popular programming paradigms such as modular programming, object-oriented programming, and interactive programming. Increme... / me to the enchanting world of programming languages for fascinating me

4965.4   Automatic Data Layout for Distributed Memory Machines - Kremer (1993)   (Correct)
An approach to programming distributed memory-parallel machines that has recently become popular is one where the programmer explicitly specifies the layout of data in a global name space, relying on ... / C is a research Pascal compiler designed and implemented at the br Abstract An approach to programming distributed memory-parallel

4893.4   Compilation by Transformation in Non-Strict Functional Languages - Santos (1995)   (Correct)
In this thesis we present and analyse a set of automatic source-to-source program transformations that are suitable for incorporation in optimising compilers for lazy functional languages. These trans... / environment. The Functional Programming Group with its annual br for incorporation in optimising compilers for lazy functional languages.

4876.1   An Object-Oriented Library for Shared-Memory Parallel Simulations - Machanick (1996)   (Correct)
Programming shared-memory multiprocessor systems is becoming increasingly difficult as the gap between memory speed and processor speed increases. At the same time, this class of computer---based on s... / Philip Machanick Abstract Programming shared-memory multiprocessor br . Algorithmic Strategies and Compiler Optimizations

4814.4   Run-Time Parallelization: A Framework For Parallel Computation - Lawrence Rauchwerger (1995)   (Correct)
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in sequential programs written in conventional languages. Current parallelizing compilers do a reasonable jo... / in the middle of night those programming bugs fixed 'on the fly'have br parallelizing or restructuring compilers is to detect and exploit

4797.3   Revised^4 Report on the Algorithmic Language Scheme - Clinger, (ed.), Rees, (ed.).. (1991)   (Correct)
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates th... / a defining description of the programming language Scheme. Scheme is a br upgraded to support an innovative compiler Three distinct projects

4717.6   A Classification and Comparison Framework for Software Architecture.. - Medvidovic (1996)   (Correct)
Software architectures shift the focus of developers from lines-of-code to coarsergrained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) ... / interconnection simulation and programming languages on the other. This br tools model checkers parsers compilers code synthesis tools runtime

4644.4   Program Representation And Execution In Real-Time Multiprocessor.. - Niehaus (1994)   (Correct)
PROGRAM REPRESENTATION AND EXECUTION IN REAL-TIME MULTIPROCESSOR SYSTEMS FERUARY 1994 DOUGLAS NIEHAUS, B.S., NORTHWESTERN UNIVERSITY M.S., UNIVERSITY OF MICHIGAN Ph.D., UNIVERSITY OF MASSACHUSETTS AMH... / including the Spring-C programming language program translation

4615.2   The Enterprise Executive - Wong (1992)   (Correct)
Enterprise is a graphical programming environment for designing, coding, debugging, testing, monitoring, profiling and executing programs in a distributed hardware environment. Enterprise code looks l... / Enterprise is a graphical programming environment for designing

4528.7   Re-engineering needs Generic Programming Language Technology - van den Brand, Klint, Verhoef (1996)   (Correct)
Generic language technology and compiler construction techniques are a prerequisite to build analysis and conversion tools that are needed for the re-engineering of large software systems. We argue th... / that are available in the compiler design field could be fruitfully br University of Amsterdam Programming Research Group Generic

4525.2   SPIN - An Extensible Microkernel for Application-specific Operating.. - Bershad, Chambers, Eggers, Maeda.. (1994)   (Correct)
Application domains, such as multimedia, databases, and parallel computing, require operating system services with high performance and high functionality. Existing operating systems provide fixed int... / more quickly and with less programming complexity than when using a br safety is verified by a trusted compiler. . Alternatives

4404.8   Optimizing Fortran 90D Programs for SIMD Execution - Roth (1993)   (Correct)
SIMD architectures offer an alternative to MIMD architectures for obtaining high performance computation through parallelism. These architectures can offer impressive price/performance ratios for cert... / more readily available. However programming such computers is still the br by the capabilities of the compilers which produce code for it.

4351.7   Compiler Support for Machine-Independent Parallel Programming in.. - Hiranandani, Kennedy, Tseng (1991)   (Correct)
Because of the complexity and variety of parallel architectures, an efficient machine-independent parallel programming model is needed to make parallel computing truly usable for scientific programmer... / the development of arf a compiler designed to interface Fortran br Machine-Independent Parallel Programming in Fortran D Seema

4309.3   Synchronous Programming of Reactive Systems - A Tutorial and.. - Halbwachs (1998)   (Correct)
to describe them as sets of concurrent processes. Cases (2) and (3) must be distinguished. In the later case, concurrency is nothing but a description facility; we call it logical concurrency. Genera... / Synchronous Programming of Reactive Systems A br from an initial data e.g.a compiler In synchronous programming we

4252.4   Loop Optimization for Aggregate Array Computations - Liu, Stoller (1997)   (Correct)
An aggregate array computation is a loop that computes accumulated quantities over array elements. Such computations are common in programs that use arrays, and the array elements involved in such com... / essential only more so when programmers are encouraged to write br it is beyond the scope of previous compiler optimizations.

4166.7   Active Rules based on Object Relational Queries - Efficient Change.. - Sköld   (Correct)
The role of databases is changing because of the many new applications that need database support. Applications in technical and scientific areas have a great need for data modelling and application-d... / built by adding persistency to OO programming languages. The query languages br transaction is committed. A rule compiler generates screener predicates

4165.1   How to Declare an Imperative - Wadler (1995)   (Correct)
How can we integrate interaction into a purely declarative language? This tutorial describes a solution to this problem based on a monad. The solution has been implemented in the functional language H... / and Subject Descriptors D. . Programming Languages Language br in the Glasgow Haskell compiler subsequently added to the

4142.0   Uniprocessor Garbage Collection Techniques - Wilson (1992)   (Correct)
We survey basic garbage collection algorithms, and variations such as incremental and generational collection. The basic algorithms include reference counting, mark-sweep, mark-compact, copying, and t... / App While in many systems programmers must explicitly reclaim heap br abstractions. For example many compilers fail when faced with

4127.5   Introducing Parallelism in a Lazy Functional Language - Charles (1997)   (Correct)
Interpretation - Combinator Systems . . . . . . . . 13 2.2.6 Backward Analysis . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.7 Evaluation transformers . . . . . . . . . . . . . . . . . . . . ... / Introduction . Parallel Programming . br used in Glasgow's Parallel Haskell compiler and GUM system THM

4037.9   Performance, Safety and Idioms in Parallel Programming Systems - Lu (1995)   (Correct)
ions are too low level. Many PPSs are designed around specific mechanisms, instead of around problem-solving techniques. The programmer is responsible for correctness and performance tuning. The need ... / Safety and Idioms in Parallel Programming Systems Paul Lu December

3973.4   Rule-Based Program Restructuring For High Performance Parallel.. - Tenny (1992)   (Correct)
Writing good programs for high performance parallel computers is difficult. The programmer must have a deep understanding of the underlying machine architecture. Issues such as memory hierarchy, commu... / computers is difficult. The programmer must have a deep understanding br For serial machines well-known compiler optimization techniques are

3950.8   Automatic Generation and Management of Program Analyses - Yi (1993)   (Correct)
Designing a program analysis (for use in optimizing compilers) is a time-consuming, complicated process because it involves many parameters. In particular, one must carefully measure the accuracy of t... / framework solves problems that compiler designers currently face. br introductory course in parallel programming. When I asked for his

3898.0   Nonlinear Array Layouts for Hierarchical Memory Systems - Chatterjee, Jain, Lebeck, Mundhra.. (1999)   (Correct)
Programming languages that provide multidimensional arrays and a flat linear model of memory must implement a mapping between these two domains to order array elements in memory. This layout function ... / Thottethodi z Abstract Programming languages that provide br in several high-performance compilers. Tiling techniques are also

3890.0   Intersection Types and Bounded Polymorphism - Pierce (1996)   (Correct)
this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a type-theoretic model of object-oriented multiple inheritance (Compagnoni & Pierce, 19... / extensions of a first-order programming language with subtyping. We br of two integers is an integer. A compiler for a language with intersection

3860.6   Programming in the Pi-Calculus: A Tutorial Introduction to Pict - Pierce (1997)   (Correct)
Pict is a programming language in the ML tradition, formed by adding high-level derived forms and a powerful static type system to a tiny core language. The core, Milner's pi-calculus, has been used a... / Programming in the Pi-Calculus A br helped build the original Pic compiler on which the first version of

3859.1   A Linear Algebra Framework for Static HPF Code Distribution - Ancourt, Coelho, Irigoin, Keryell (1995)   (Correct)
High Performance Fortran (hpf) was developed to support data parallel programming for simd and mimd machines with distributed memory. The programmer is provided a familiar uniform logical address spac... / to support data parallel programming for simd and mimd machines br Fourth International Workshop on Compilers for Parallel Computers held in

3858.1   An Incremental Type Inference System for the Programming Language Id - Gupta (1990)   (Correct)
Modern computing environments strive to be robust and reliable, and at the same time, aim at providing enough flexibility to an interactive user to edit, debug, and test programs easily and efficientl... / Type Inference System for the Programming Language Id MIT LCS br Hicks who helped me with the Id Compiler and patiently resolved my

3831.1   Compiling Fortran 90D/HPF For Distributed Memory Mimd Computers - Bozkus (1995)   (Correct)
Distributed memory multiprocessors are increasingly being used to provide high performance for advanced calculations with scientific applications. Distributed memory machines offer significant advanta... / for his knowledge of parallel compiler design and his assistance that has br distributed memory machines are programmed using a node language and a

3822.7   Delivering the Benefits of Persistence to System Construction and.. - Cutts (1992)   (Correct)
In an orthogonally persistent programming system the longevity of data is independent of its other attributes. The advantages of persistence may be seen primarily in the areas of data modelling and pr... / In an orthogonally persistent programming system the longevity of data is

3769.6   Programmable Arithmetic Devices for High Speed Digital Signal.. - Chen   (Correct)
The high throughput computation requirements of real-time digital signal processing (dsp) systems usually dictate hardware intensive solutions. Often attendant to hardware approaches are problems of h... / Programmable Arithmetic Devices for High

3732.3   From System F to Typed Assembly Language (Extended Version) - Morrisett, Walker, Crary, Glew (1997)   (Correct)
We motivate the design of a statically typed assembly language (TAL) and present a typepreserving translation from System F to TAL. The TAL we present is based on a conventional RISC assembly language... / calculi is used as a first-class programming calculus in the sense that each br simpler than previous work. The compiler and typed assembly language

3699.0   Data Prefetch Mechanisms For Accelerating Symbolic And Numeric.. - Mehrotra (1996)   (Correct)
hing. The behavior of the IRB on a suite of programs drawn from the Spec92, Spec95, and public domain codes, is measured under a variety of abstract models. Next, a detailed hardware design for the IR... / work and his impressive vi programming and mathematical skills are br at my own pace. His mastery of compiler construction has helped sharpen

3695.1   Transgressing The Boundaries: Unified Scalable Parallel Programming - Lecomber, Sujithan (1996)   (Correct)
The diverse architectural features of parallel computers, and the lack of commonly accepted parallel-programming environments, meant that software development for these systems has been significantly ... / Programming Research Group TRANSGRESSING br programming language and the compiler extracts the parallelism

3645.5   DPF: A Data Parallel Fortran Benchmark Suite - Yu Hu (1995)   (Correct)
The Data Parallel Fortran (DPF) benchmark suite is designed for evaluating data parallel compilers and scalable architectures. Many of the DPF codes are provided in three versions: basic, optimized an... / issues investigated in modern compiler design for parallel languages and br . Quadratic programming problem

3629.0   From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)   (Correct)
We motivate the design of a statically typed assembly language (TAL) and present a typepreserving translation from System F to TAL. The TAL we present is based on a conventional RISC assembly language... / constructors that may be used by programmers or compilers to build new br constructs admit most low-level compiler optimizations. Our translation

3602.0   Experience with a Clustered Parallel Reduction Machine - Beemster, Hartel, Hertzberger.. (1993)   (Correct)
A clustered architecture has been designed to exploit divide and conquer parallelism in functional programs. The programming methodology developed for the machine is based on explicit annotations and ... / in functional programs. The programming methodology developed for the br onto the available hardware. Compilers for imperative languages also

3571.1   A transformation-based optimiser for Haskell - Jones, Santos (1998)   (Correct)
Many compilers do some of their work by means of correctness-preserving, and hopefully performance-improving, program transformations. The Glasgow Haskell Compiler (GHC) takes this idea of "compilatio... / This leads to a more modular compiler design in contrast to compilers br appear in Science of Computer Programming . Introduction Using

3558.2   Tabled Evaluation with Delaying for General Logic Programs - Chen, Warren (1996)   (Correct)
SLD resolution with negation as finite failure (SLDNF) reflects the procedural interpretation of predicate calculus as a programming language and forms the computational basis for Prolog systems. Desp... / of predicate calculus as a programming language and forms the br of queries. Furthermore Prolog compiler technology has been adapted for

3543.0   Software Support For Parallel Processing Of Irregular And Dynamic.. - Jiao (1996)   (Correct)
OF THE DISSERTATION Software Support for Parallel Processing of Irregular and Dynamic Computations by Jia Jiao Dissertation Director: Professor Apostolos Gerasoulis Many real world scientific computat... / to the subject of parallel programming in his class years ago and br Integrated Automatic Parallelizing Compiler . . . Extraction of Task

3525.6   Sort Inference in Action Semantics - Brown (1996)   (Correct)
Action semantics is a semantic meta-language developed by Mosses and Watt for specifying programming languages. The work reported in this thesis is part of a project to develop a system, called ACTRES... / Mosses and Watt for specifying programming languages. The work reported in

3506.8   Runtime Mechanisms for Efficient Dynamic Multithreading - Karamcheti, Plevyak, Chien (1996)   (Correct)
High performance on distributed memory machines for programming models with dynamic thread creation and multithreading requires efficient thread management and communication. Traditional multithreadin... / distributed memory machines for programming models with dynamic thread br mechanisms that assume minimal compiler and hardware support are

3490.8   Pict: A Programming Language Based on the Pi-Calculus - Pierce, Turner (1997)   (Correct)
The π-calculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of high-level constructs including dat... / Pict A Programming Language Based on the br applications a calculus compiler must implement process creation

3488.9   The Proteus System for the Development of Parallel Applications - Goldberg, Prins, Reif, Faith, Li.. (1994)   (Correct)
Target Language In our methodology we have identified a small set of specifications that comprise the abstract target language (ATL) of the refinement system. These are specifications of types such a... / architecture-independent programming languages. Parallel br codes at a high level having a compiler translate the codes to run on a

3482.0   Dynamic Sharing and Backward Compatibility on 64-Bit Machines - Garrett, Bianchini, Kontothanassis.. (1992)   (Correct)
As an alternative to communication via messages or files, shared memory has the potential to be simpler, faster, and less wasteful of space. Unfortunately, the mechanisms available for sharing in most... / major changes to the Unix programming model. In particular we br applications where library or compiler support can take care of the

3472.6   Compiling Polymorphism Using Intensional Type Analysis - Harper, Morrisett (1995)   (Correct)
Types have been used to describe the size and shape of data structures at compile time. In polymorphic languages or languages with abstract types, this is not possible since the types of some objects ... / of the structure. This allows the programmer to gain considerable control br is assured. This means that a compiler may always open code

3470.5   Compiling for Heterogeneous Systems: A Survey and an Approach - McKinley, Moss, Singhai, Weaver.. (1995)   (Correct)
Large applications tend to contain several models of parallelism, but only a few of these map efficiently to the single model of parallelism embodied in a homogeneous parallel system. Heterogeneous pa... / to suit a target and allowing programming models and languages to br development. We believe that compilers can and should assist in

3466.5   BeCecil, A Core Object-Oriented Language with Block Structure and.. - Craig Chambers   (Correct)
We present and analyze the semantics and static type system for BeCecil, a theoretical (core) language with multimethods. BeCecil is a simple and orthogonal version of object-oriented languages like C... / functions object-oriented programming languages encapsulation br writing an -line optimizing compiler Vortex Dean et al. We

3438.4   Studies of Integration and Optimization of Interpreted and Compiled.. - Fox, Li, Wen, Zhang (1997)   (Correct)
an view our front end compiler as similar to the javac compiler's function of producing JavaVM bytecodes. The II/CVM will naturally need the study of such issues as Just in Time compilation, dynamic l... / also to produce more attractive programming environments. This proposal br which explore the interpreter compiler integration for both sequential

3400.2   Execution Profiling for Non-strict Functional Languages - Sansom (1994)   (Correct)
Profiling tools, which measure and display the dynamic space and time behaviour of programs, are essential for identifying execution bottlenecks. A variety of such tools exist for conventional languag... / expressions identified by the programmer. Considerable attention is paid

3395.3   Applying Patterns to Develop Extensible ORB Middleware - Schmidt (1998)   (Correct)
Distributed object computing forms the basis for nextgeneration application middleware. At the heart of distributed object computing are Object Request Brokers (ORBs), which automate many tedious and ... / and error-prone distributed programming tasks. Like many other br Repository Repository Idl Idl Compiler Compiler Dii Dii Orb Orb

3394.1   TIGUKAT: A Uniform Behavioral Objectbase Management System - Özsu, Peters, Szafron, Irani, Lipka, .. (1995)   (Correct)
We describe the TIGUKAT objectbase management system that is under development at the Laboratory for Database Systems Research at the University of Alberta. TIGUKAT has a novel object model whose iden... / type system of an object-oriented programming language as the object model of br Optimizer TDL Interpreter TQL Compiler Transaction Manager Other

3384.9   FIAT: A Framework for Interprocedural Analysis and Transformation - Carle, Hall, Mellor-Crummey.. (1995)   (Correct)
Modern architectures with deep memory hierarchies or parallelism require the use of increasingly sophisticated code analysis and optimization to achieve maximum performance for large, scientific progr... / optimization in the ParaScope programming tools at Rice University and br at Rice University and the SUIF compiler at Stanford University. Fiat's

3382.9   Algorithm + Strategy = Parallelism - Trinder, Hammond, Loidl, Jones (1993)   (Correct)
The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is to be used to compute its result. This paper i... / J. Functional Programming - January c br One extreme is to rely on the compiler and runtime system to manage the

3382.0   Adaptive And Integrated Data Cache Prefetching For Shared-Memory.. - Gornish (1995)   (Correct)
yield a better overall scheme. We give a detailed description of the compiler analysis necessary for integrated prefetching. The performance of integrated prefetching is compared to software and hardw... / J. D. Ullman Principles of Compiler Design. Reading MA AddisonWesley br . . Compilation and Programming Model

3380.6   Programming Techniques For Eagersharing Distributed Memory Systems - By Ai   (Correct)
of the Dissertation PROGRAMMING TECHNIQUES FOR EAGERSHARING DISTRIBUTED MEMORY SYSTEMS by Ai Li Doctor of Philosophy in Computer Science State University of New York at Stony Brook 1993 To overcome th... / Programming Techniques For Eagersharing br data regions. After analysis a compiler tool can generate adequate

3372.6   Query Driven Simulation Using Active KDL: A Functional.. - John Miller (1991)   (Correct)
Because of the difficulty of simulating large complex systems with traditional tools, new approaches have and are being developed. One group of interrelated approaches attempts to simultaneously make ... / be implemented using the database programming language DBPL Keywords br the help of lex and yacc bison compiler tools at which point the C

3320.4   A Classification of Various Approaches for Object-Based Parallel and.. - Briot, GUERRAOUI (1996)   (Correct)
This paper aims at classifying and discussing the various ways along which the object paradigm is used in concurrent and distributed contexts. We distinguish the applicative approach, the integrative ... / Parallel and Distributed Programming Jean-Pierre BRIOT Rachid

3285.5   Optimizing a CORBA Inter-ORB Protocol (IIOP) Engine for Minimal.. - Gokhale, Schmidt   (Correct)
To support the quality of service (QoS) requirements of embedded multimedia applications, such as real-time audio and video, electronic mail and fax, and Internet telephony, off-theshelf middleware li... / keyword. To workaround the compiler design we defined a helper method br there is a movement away from programming applications from scratch

3266.3   Automap: A Parallel Coordination-based Programming System - van Reeuwijk, Sips, Lin, van Gemund (1997)   (Correct)
High Performance Computing (HPC) has been defined as a key enabling technology for industrial competitiveness. The successful use of parallel computer technology requires the development of techniques... / A Parallel Coordination-based Programming System C. van Reeuwijk br problem. How easily can the compiler transform the specified parallel

3244.6   Parallelising Serial Code: A Comparison Of Three High-Performance.. - MacLaren (1997)   (Correct)
9 Declaration 11 Copyright 12 Acknowledgements 13 1 Introduction 14 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2 Aims . . . . . . . . . . . . . . . . . . . . . ... / Three High-Performance Parallel Programming Methods A Thesis Submitted To br . Target Architectures and their Compilers .

3240.5   How to Control the Allocation of Parallel Applications: a Survey on.. - Zambonelli (1996)   (Correct)
The paper focuses on the allocation area, with the aim of providing a survey on systems that provides facilities to codify the behaviour of an application with regard to its allocation onto a target a... / adopted in several systems and programming environments. Open issues and br allocation it is the job of the compiler to extract from the application

3234.4   People-oriented Software Reuse: the Very Thought - Maiden, Sutcliffe (1993)   (Correct)
Most software reuse research has ignored the role of the software engineer. However, software engineers tend to be better reasoners and have more experiences to recall than tool-based reuse mechanisms... / languages and the programmer was not required to inspect or br generation code optimisation compiler DB management expression

3206.9   Viewing A Program Transformation System At Work - Paige (1994)   (Correct)
How to decrease labor and improve reliability in the development of efficient implementations of nonnumerical algorithms and labor intensive software is an increasingly important problem as the demand... / algorithms in C at a programming rate i.e.source lines per br ones e.g.optimizing compilers for supercomputers intricate

3204.3   Implementing lazy functional languages on stock hardware: the.. - Jones (1992)   (Correct)
The Spineless Tagless G-machine is an abstract machine designed to support nonstrict higher-order functional languages. This presentation of the machine falls into three parts. Firstly, we give a gene... / in the Journal of Functional Programming. Changes in Version . br is the C language treating the C compiler as a portable assembler. This

3165.3   Compiling Haskell by program transformation: a report from the.. - Jones (1996)   (Correct)
Many compilers do some of their work by means of correctness-preserving, and hopefully performance-improving, program transformations. The Glasgow Haskell Compiler (GHC) takes this idea of "compilatio... / This leads to a more modular compiler design in contrast to compilers br of the European Symposium on Programming Linkoping April .

3160.0   Generational copying garbage collection for Standard ML: a.. - Stefanovic (1993)   (Correct)
this document, comprise my Master's Project, submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science. Contents unknown Generational copying garba... / implementations of functional programming languages. The allocation is br patterns from the current SML NJ compiler. the pauses caused by major

3150.1   Constraints to Stop Higher-Order Deforestation - Seidl, Sørensen (1997)   (Correct)
Wadler's deforestation algorithm removes intermediate data structures from functional programs. To be appropriate for inclusion in a compiler, deforestation must terminate on all programs. Several tec... / Lazy higher-order functional programming languages lend themselves to a br be appropriate for inclusion in a compiler deforestation must terminate on

3117.0   Compiler Technology for Future Microprocessors - Hwu, Hank, Gallagher, Mahlke.. (1995)   (Correct)
Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the opport... / in microprocessors such as programming microprocessors or designing br Compiler Technology for Future

3105.2   Path Splitting: A Technique for Improving Data Flow Analysis - Poletto (1995)   (Correct)
Path splitting is a new technique for improving the amount of data flow information statically available to the compiler about a fragment of code. Path splitting replicates code in order to provide op... / . Comments on Compiler Design br Acm Sigplan Conference On Programming Language Design And

3099.1   Massively Parallel Programming Languages - A Classification of Design .. - Gellerich, Gutzmann   (Correct)
This paper presents the results of a study in which we examined about 50 parallel programming languages in order to detect typical approaches towards supporting massive parallelism. Based on a classif... / Massively Parallel Programming Languages -A Classification br tasks performed by parallelizing compilers. We were interested in

3092.5   Code Generation Techniques - Proebsting (1992)   (Correct)
Optimal instruction scheduling and register allocation are NP-complete problems that require heuristic solutions. By restricting the problem of register allocation and instruction scheduling for delay... / representations rely on dynamic programming techniques. Bottom-Up Rewrite br . Compiler Performance

3087.9   Tempest and Typhoon: User-Level Shared Memory - Reinhardt, Larus, Wood (1994)   (Correct)
Future parallel computers must efficiently execute not only hand-coded applications but also programs written in high-level, parallel programming languages. Today's machines limit these programs to a ... / written in high-level parallel programming languages. Today's machines br mechanisms so programmers and compilers can customize policies for a

3086.9   Implementing Data-Parallel Software on Dataflow Hardware - Shaw (1993)   (Correct)
The data-parallel programming model has become the de facto, baseline standard programming model for a variety of parallel computers, both SIMD and MIMD. The dataparallel programming model is easy to ... / Abstract The data-parallel programming model has become the de facto

3081.9   An Integrated Runtime and Compile-time Approach for Parallelizing.. - Agrawal, Sussman, Saltz (1995)   (Correct)
In compiling applications for distributed memory machines, runtime analysis is required when data to be communicated cannot be determined at compile-time. One such class of applications requiring runt... / compilers for HPF-like parallel programming languages in compiling codes br systems. We have also developed compiler analysis for determining data

3072.0   Multiprocessor Cache Coherence Based on Virtual Memory Support - Petersen, Li (1995)   (Correct)
Virtual memory based cache coherence is a mechanism that relies only on hardware that already exists on the microprocessors of a shared memory multiprocessor system, yet dynamically detects and res... / is an effective paradigm for programming multi-processor machines. br in hardware or by relying on compiler support to insert cache flush and

3060.2   Towards a tool kit for the automatic generation of interprocedural.. - Knoop, Rüthing, Steffen (1996)   (Correct)
this article, the classical application of DFA. In this context, designers of a DFA are typically faced with the problem of how to construct an algorithm that determines the set of program points of a... / within MetaFrame a programming environment for the br the construction of optimizing compilers. We focus on the generation of

3050.4   Implementation of a Portable Nested Data-Parallel Language - Blelloch (1994)   (Correct)
This paper gives an overview of the implementation of Nesl, a portable nested data-parallel language. This language and its implementation are the first to fully support nested data structures as well... / languages a simple programming model and portability. The br nested parallelism allows a compiler to convert them into a form that

3046.6   A Debugger for Standard ML - Tolmach, Appel (1993)   (Correct)
We have built a portable, instrumentation-based, replay debugger for the Standard ML of New Jersey compiler. Traditional "source-level" debuggers for compiled languages actually operate at machine lev... / J. Functional Programming - January c br for the Standard ML of New Jersey compiler. Traditional source-level

3045.7   Implementation of Stack-Based Languages on Register Machines - Ertl (1996)   (Correct)
Languages with programmer-visible stacks (stack-based languages) are used widely, as intermediate languages (e.g., JavaVM, FCode), and as languages for human programmers (e.g., Forth, PostScript). How... / Hanson. A Retargetable C compiler Design and Implementation. br Abstract Languages with programmer-visible stacks stack-based

3043.8   Programming Language Semantics in Foundational Type Theory - Crary (1998)   (Correct)
There are compelling benefits to using foundational type theory as a framework for programming language semantics. I give a semantics of an expressive programming calculus in the foundational type the... / Programming Language Semantics in br intermediate language in the KML compiler In this section I discuss

3041.3   Compiler Architectures for Heterogeneous Systems - McKinley, Singhai, Weaver, Weems (1995)   (Correct)
Heterogeneous parallel systems incorporate diverse models of parallelism within a single machine or across machines and are better suited for diverse applications [25, 43, 30]. These systems are alr... / to suit a target and allowing programming models and languages to evolve. br Compiler Architectures for Heterogeneous

3019.1   Implementing Typed Intermediate Languages - Shao, League, Monnier (1998)   (Correct)
Recent advances in compiler technology have demonstrated the benefits of using strongly typed intermediate languages to compile richly typed source languages (e.g., ML). A typepreserving compiler can ... / Conference on Functional Programming September Baltimore br Abstract Recent advances in compiler technology have demonstrated the

3018.6   MetaML: Multi-Stage Programming with Explicit Annotations - Taha, Sheard   (Correct)
We introduce MetaML, a practically-motivated, staticallytyped multi-stage programming language. MetaML allows the programmer to construct, combine, and execute code fragments in a type-safe manner. Co... / MetaML Multi-Stage Programming with Explicit Annotations br like macro's which directed the compiler to perform compile-time

3003.4   Data Flow Analysis Across Tuplespace Process Boundaries - Fenwick, Jr., Pollock   (Correct)
The increasing attention toward distributed shared memory systems attests to the fact that programmers find shared memory parallel programming easier than message passing programming, while physically... / systems attests to the fact that programmers find shared memory parallel br A current limitation of compilers for shared memory parallel

2995.7   Measuring and Optimizing CORBA Latency and Scalability Over.. - Gokhale, Schmidt (1998)   (Correct)
There is increasing demand to extend object-oriented middleware, such as OMG CORBA, to support applications with stringent quality of service (QoS) requirements. However, conventional CORBA Object Req... / CORBA automates common network programming tasks such as object location br Repository Repository Idl Idl Compiler Compiler Dii Dii Orb Orb

2982.7   Proving the Correctness of Compiler Optimisations Based on a Global.. - Burn, Métayer (1995)   (Correct)
A substantial amount of work has been devoted to the proof of correctness of various program analyses but much less attention has been paid to the correctness of compiler optimisations based on these ... / functions. Science of Computer Programming - November . br Proving the Correctness of Compiler Optimisations Based on a Global

2981.8   NESL: A Nested Data-Parallel Language (Version 3.1) - Blelloch (1995)   (Correct)
This report describes Nesl, a strongly-typed, applicative, data-parallel language. Nesl is intended to be used as a portable interface for programming a variety of parallel and vector computers, and ... / PRAM model parallel programming languages collection-oriented br Sabot implemented an experimental compiler that supported nested-parallelism

2980.1   On The Acceptability Of Arguments And Its Fundamental Role In.. - Dung (1995)   (Correct)
The purpose of this paper is to study the fundamental mechanism, humans use in argumentation, and to explore ways to implement this mechanism on computers. We do so by first developing a theory for ar... / In Nonmonotonic Reasoning Logic Programming And N-Persons Games Phan br a method very much similar to the compiler-compiler idea in conventional

2964.6   Applying Program Visualization Techniques to Aid Parallel and.. - Appelbe, Stasko, Kraemer (1991)   (Correct)
Parallel and distributed programming is intrinsically more difficult than sequential programming, yet few effective tools or methodologies have been developed to help programmers understand the behavi... / Parallel and distributed programming is intrinsically more difficult br it using parallel constructs or compiler directives. Unfortunately the

2964.5   Commutativity Analysis: A New Analysis Framework for Parallelizing.. - Rinard, Diniz (1996)   (Correct)
This paper presents a new analysis technique, commutativity analysis, for automatically parallelizing computations that manipulate dynamic, pointer-based data structures. Commutativity analysis views ... / program to execute correctly the programmer must ensure that all of the br Framework for Parallelizing Compilers Martin C. Rinard

2955.8   Advanced Code Generation for High Performance Fortran - Adve, Mellor-Crummey   (Correct)
this paper, we describe techniques developed in the Rice dHPF compiler to address key code generation challenges that arise in achieving high performance for regular applications on message-passing sy... / a simple portable abstract programming model applicable to a wide br wide acceptance parallelizing compilers must be able to provide

2952.1   The Nexus Approach to Integrating Multithreading and Communication - Foster (1996)   (Correct)
Lightweight threads have an important role to play in parallel systems: they can be used to exploit shared-memory parallelism, to mask communication and I/O latencies, to implement remote memory acces... / In these situations the programmer can reasonably be assumed to br called Nexus that is used as a compiler target for parallel languages and

2946.0   A Quantitative Analysis of Loop Nest Locality - McKinley, Temam (1996)   (Correct)
This paper analyzes and quantifies the locality characteristics of numerical loop nests in order to suggest future directions for architecture and software cache optimizations. Since most programs spe... / on Architectural Support for Programming Languages and Operating br and provide new insights for the compiler writer and the architect.

2936.3   TIL: A Type-Directed Optimizing Compiler for ML - Tarditi, Morrisett, Cheng (1995)   (Correct)
We describe a new compiler for Standard ML called TIL, that is based on four technologies: intensional polymorphism, tag-free garbage collection, conventional functional language optimization, and loo... / The Acm Sigplan ' Conference On Programming Language Design And br TIL A Type-Directed Optimizing Compiler for ML David Tarditi Greg

2928.5   Access Normalization: Loop Restructuring for NUMA Computers - Li, Pingali (1993)   (Correct)
In scalable parallel machines, processors can make local memory accesses much faster than they can make remote memory accesses. In addition, when a number of remote accesses must be made, it is usua... / believe it is too onerous for a programmer to do this by hand so we have br the use of restructuring compiler technology for this purpose. In

2916.9   Tools and Techniques for Automatic Data Layout: A Case Study - Ayguade, Garcia, Kremer (1997)   (Correct)
Parallel architectures with physically distributed memory providing computing cycles and large amounts of memory are becoming more and more common. To make such architectures truly usable, programming... / such architectures truly usable programming models and support tools are br or mostly through compiler technology distributed

2910.7   CICO: A Practical Shared-Memory Programming Performance Model - Larus, Chandra, Wood (1993)   (Correct)
A programming performance model provides a programmer with feedback on the cost of program operations and is a necessary basis to write efficient programs. Many sharedmemory performance models do not ... / CICO A Practical Shared-Memory Programming Performance Model James br on a message-passing machine. Compilers such as Vienna Fortran

2909.6   A Portable Multiprocessor Interface for Standard ML of New Jersey - Morrisett, Tolmach (1992)   (Correct)
We have designed a portable interface between shared-memory multiprocessors and Standard ML of New Jersey. The interface is based on the conventional kernel thread model and provides facilities that c... / ML is a mostly functional programming language that provides br of Wisconsin using the sml c compiler Terminology A

2907.5   How to Formalize It? - Formalization Principles for Information.. - Hofstede, Proper (1997)   (Correct)
Although the need for formalisation of modelling techniques is generally recognised, not much literature is devoted to the actual process involved. This is comparable to the situation in mathematics w... / the definition of the syntax of programming languages it is customary to br semantics amounts to a compiler for a modelling technique an

2907.0   The ECO model: events + constraints + objects - Starovic Cahill (1995)   (Correct)
This document describes the rationale and design of a programming model based on events, constraints, and objects and the use of this model in the Moonlight 1 project. It describes the inter-object ... / the rationale and design of a programming model based on events br debugging events may A compiler or language preprocessor.

2904.2   PANDA - Supporting Distributed Programming in C++ - Assenmacher, Breitbach, Buhler.. (1993)   (Correct)
PANDA is a run-time package based on a very small operating system kernel which supports distributed applications written in C++. It provides powerful abstractions such as very efficient user-level ... / PANDA Supporting Distributed Programming in CH. Assenmacher T. br such systems which do not rely on compiler extension are their portability

2903.0   Optimizing a CORBA IIOP Protocol Engine for Minimal Footprint.. - Gokhale, Schmidt (1998)   (Correct)
Communication software for hand-held devices must be flexible and efficient to deliver the necessary Quality of Service (QoS) to multimedia applications such as real-time audio and video, video on-dem... / keyword. To workaround the compiler design we defined a helper method br implementation or use ffl Programming language The languages

2901.3   The MIT Alewife Machine: A Large-Scale Distributed-Memory.. - Agarwal, Chaiken, Johnson, Kranz.. (1991)   (Correct)
The Alewife multiprocessor project focuses on the architecture and design of a large-scale parallel machine. The machine uses a low dimension direct interconnection network to provide scalable communi... / allows efficient shared memory programming through a multilayered br and latency tolerance. The compiler runtime system and hardware

2898.3   A Survey of Basic Issues of Parallel Execution on a Distributed System - Evans, Goscinski (1995)   (Correct)
This report examines the basic issues involved in implementing parallel execution in a distributed computational environment. The study was carried out by considering our claim that both a compiler sh... / generality of parallelism and the programmer's actions when writing br considering our claim that both a compiler should be directly involved in

2895.2   Should Your Specification Language Be Typed? - Lamport, Paulson (1998)   (Correct)
Most specification languages have a type system. Type systems are hard to get right, and getting them wrong can lead to inconsistencies. Set theory can serve as the basis for a specification language ... / multiple platforms networking programming technology system modelling br language they let the compiler catch errors that would otherwise

2888.2   The ECCE Partial Deduction System - Leuschel   (Correct)
Interpretation ". Most parts of the ecce system grew out of joint work with D. De Schreye, R. Gluck, J. Jørgensen, B. Martens, M.H. Sørensen and A. de Waal. I am also grateful to Wim Vanhoof, the most... / prototyping. Declarative programming languages are high-level br encompasses traditional compiler optimisation techniques such as

2885.5   Principles and a Preliminary Design for ML2000 - Group (1999)   (Correct)
We describe the methodology and current features for ML2000, a new-generation design of ML. ML2000 adds a number of features to Standard ML and Caml, providing better support for extensibility and cod... / and polymorphism are useful for programming in the small and first-order br machine. Moreover types help the compiler writer implementations of

2882.5   Data Distribution Models and Algorithms - Appelbe, Doddapaneni, Hardnett   (Correct)
Data distribution, and its interaction with parallelism and load balancing, is the key unsolved problem for compiling for parallelism for distributed memory computers. Many different techniques and al... / implemented suited to different programming environments target br program a programmer or compiler must perform the following steps

2873.8   Unified Compilation of Fortran 77D and 90D - Choudhary, Fox, Hiranandani.. (1993)   (Correct)
this paper, we describe a unified strategy for compiling both Fortran 77D and Fortran 90D into efficient unknown Unified Compilation of Fortran 77D and 90D ALOK CHOUDHARY*, GEOFFREY FOX*, SEEMA HIRANA... / parallel processors D. . Programming Languages Language br machines. The integrated Fortran D compiler relies on two key observations.

2863.8   Typed Memory Management in a Calculus of Capabilities - Crary, Walker, Morrisett (1999)   (Correct)
An increasing number of systems rely on programming language technology to ensure safety and security of low-level code. Unfortunately, these systems typically rely on a complex, trusted garbage colle... / number of systems rely on programming language technology to ensure br type-safe code. We present a compiler intermediate language called the

2859.9   Sather 2: A Language Design for Safe, High-Performance Computing - Gomes, Löwe, Quittek, Weissman (1997)   (Correct)
Consistency of objects in a concurrent computing environment is usually ensured by serializing all incoming method calls. However, for high performance parallel computing intra-object parallelism, i.e... / object models that leave it to the programmer to ensure consistency. We br is discovered and exploited by the compiler and run-time system. In explicit

2856.8   Tiling Multidimensional Iteration Spaces for Multicomputers - Ramanujam, Sadayappan (1992)   (Correct)
This paper addresses the problem of compiling perfectly nested loops for multicomputers (distributed memory machines). The relatively high communication startup costs in these machines renders frequen... / suffer from a lack of adequate programming support tools. Parallelizing br support tools. Parallelizing compilers for such machines have received

2851.1   Synchronization and Communication in the T3E Multiprocessor - Scott (1996)   (Correct)
This paper describes the synchronization and communication primitives of the Cray T3E multiprocessor, a shared memory system scalable to 2048 processors. We discuss what we have learned from the T3D p... / using the sharedmemory programming model e.g.High Performance br significantly easier for the compiler. For either programming model

2843.0   Dynamic Self-Invalidation: Reducing Coherence Overhead in.. - Lebeck, Wood (1995)   (Correct)
This paper introduces dynamic self-invalidation (DSI), a new technique for reducing cache coherence overhead in shared-memory multiprocessors. DSI eliminates invalidation messages by having a processo... / multiprocessors simplify parallel programming by providing a single address br system directives inserted by the compiler profile-based tools or the

2842.1   Software Caching and Computation Migration in Olden - Carlisle, Rogers (1995)   (Correct)
The goal of the Olden project is to build a system that provides parallelism for general purpose C programs with minimal programmer annotations. We focus on programs using dynamic structures such as ... / D. Hanson. A Retargetable C Compiler Design and Implementation. br C programs with minimal programmer annotations. We focus on

2830.3   Orca: A Language For Parallel Programming Of Distributed Systems - Bal, Kaashoek, Tanenbaum (1992)   (Correct)
Orca is a language for implementing parallel applications on loosely coupled distributed systems. Unlike most languages for distributed programming, it allows processes on different machines to share ... / Orca Alanguage For Parallel Programming Of Distributed Systems Henri br be achieved through an optimizing compiler. Language designers frequently

2810.8   Evaluation Of Programs And Parallelizing Compilers Using Dynamic.. - Petersen (1993)   (Correct)
results for an unlimited number of processors. Upper and lower bounds of the inherent parallelism, for the case of limited processors, can be derived from the processor activity histogram, which reco... / . Integer Programming Based Dependence Tests br Of Programs And Parallelizing Compilers Using Dynamic Analysis

2805.8   Partitioning Non-strict Languages for Multi-threaded Code Generation - Coorg (1994)   (Correct)
In a non-strict language, functions may return values before their arguments are available, and data structures may be defined before all their components are defined. Compiling such languages to conv... / Introduction Functional programming languages can be divided into br Figures . Structure of an Id Compiler

2798.8   Type-Checking and Type-Inference for Object-Oriented Programming.. - Graver (1989)   (Correct)
Type systems for object-oriented programming languages have been studied a great deal over the past few years. Since Smalltalk was one of the earliest object-oriented languages, it is not surprising t... / for Object-Oriented Programming Languages by Justin Owen br TS Typed Smalltalk optimizing compiler. iii Acknowledgements I

2797.1   A Scalable Method for Run-Time Loop Parallelization - Rauchwerger, Amato, Padua (1995)   (Correct)
Current parallelizing compilers do a reasonable job of extracting parallelism from programs with regular, well behaved, statically analyzable access patterns. However, they cannot extract a significan... / ACM Symposium on Principles of Programming Languages pages - br Abstract Current parallelizing compilers do a reasonable job of

2795.9   Experimental Evaluation of Blocking and Non-Blocking Multithreaded.. - Annavaram, Najjar, Roh (1997)   (Correct)
The objective of multithreaded execution models is masking the latency of inter processor communications and remote memory accesses in large-scale multiprocessors. Several such models combine aspects ... / a pure first order functional programming language. The functional nature br nature of the language allows the compiler to easily extract parallelism at

2788.8   Memory Subsystem Performance of Programs Using Copying Garbage.. - Diwan, Tarditi, Moss (1994)   (Correct)
Heap allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of heap allocation for memory subsystems... / Symposium on Principles of Programming Languages January pp. br compiled with the SML NJ compiler do tremendous amounts of

2782.2   An Effective Speculative Evaluation Technique for Parallel.. - Mattson, Jr. (1993)   (Correct)
xiii 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... / The Problems of Parallel Programming .

2767.2   /2: Data-Parallelism and Data-Flow - Olivier Michel (1996)   (Correct)
We advocate a data-flow approach to data-parallelism to ensure both parallelism expressiveness and efficient exploitation of data-parallel applications on new massively parallel architectures. The rat... / of Parallelism Expression in Programming Languages The many existing br programmer. It is the task of the compiler static extraction of the

2755.3   MORPH: A System Architecture for Robust High Performance Using.. - Chien, Gupta (1996)   (Correct)
Achieving 100 TeraOps performance within a tenyear horizon will require massively-parallel architectures that exploit both commodity software and hardware technology for cost efficiency. Increasing cl... / communication resources. This programming flexibility or br has been provided by optimizing compilers vectorizing or parallelizing

2745.5   Data and Computation Transformations for Multiprocessors - Anderson (1995)   (Correct)
Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes sequentia... / and Practice of Parallel Programming PPoPP ' Santa Barbara CA br We havedeveloped the first compiler system that fully automatically

2741.4   Typed Cross-Module Compilation - Shao (1998)   (Correct)
Higher-order modules are very effective in structuring large programs and defining generic, reusable software components. Unfortunately, many compilation techniques for the core languages do not work ... / Introduction Modular programming has proven to be extremely br As a result few optimizing compilers support these module facilities

2726.4   Explaining Type Inference - Duggan, Bent (1995)   (Correct)
Type inference is the compile-time process of reconstructing missing type information in a program based on the usage of its variables. ML and Haskell are two languages where this aspect of compilatio... / need to explain typing errors to programmers. As a preliminary indication br without type information to the compiler and have the compiler completely

2717.7   Calypso: An Environment for Reliable Distributed Parallel Processing - Baratloo, Dasgupta, Kedem (1995)   (Correct)
The importance of adapting networks of workstations for use as parallel processing platforms is well established. However, current solutions do not always satisfactorily address important issues that ... / toolkits for distributed programming in general the br operating systems and compilers. Among notable properties of the

2713.3   Optimal Software Pipelining of Nested Loops - Ramanujam (1994)   (Correct)
This paper presents an approach to software pipelining of nested loops. While several papers have addressed software pipelining of single (non-nested) loops, little work has been done in the area of a... / is then solved using linear programming. This allows us to treat br a major challenge to parallelizing compilers The

2706.5   Parallelism in Sequential Functional Languages - Blelloch, Greiner (1995)   (Correct)
This paper formally studies the question of how much parallelism is available in call-by-value functional languages with no parallel extensions (i.e., the functional subsets of ML or Scheme). In parti... / of the techniques necessary for programming efficient algorithms in the br reduction and various compiler techniques Such work has

2683.3   Automatic Accurate Time-Bound Analysis for High-Level Languages - Liu (1998)   (Correct)
This paper describes a general approach for automatic and accurate time-bound analysis. The approach consists of transformations for building time-bound functions in the presence of partially known in... / algorithms programming languages br systems interactive environments compiler optimizations performance

2683.1   Efficient Implementation of Unification-Based Grammars - Wintner, Francez (1999)   (Correct)
Contemporary linguistic formalisms such as LFG or HPSG have become so rigorous that it is now possible to view them as very high level declarative programming languages. Consequently, grammars for na... / the starting point for many compiler designs for Prolog. The techniques br as very high level declarative programming languages. Consequently

2682.3   Realistic Compilation by Partial Evaluation - Sperber, Thiemann (1996)   (Correct)
Two key steps in the compilation of strict functional languages are the conversion of higher-order functions to data structures (clo- sures) and the transformation to tail-recursive style. We show how... / In Acm Sigplan Conference On Programming Language Design And br that of other modern Scheme-to-C compilers. In addition we have integrated

2678.4   `C and tcc: A Language and Compiler for Dynamic Code Generation - Poletto, Hsieh, Engler, Kaashoek (1999)   (Correct)
This paper makes the following contributions: ---It describes the `C language, and motivates the design of the language. ---It describes tcc, with special emphasis on its two runtime systems, one tune... / D. R. . A retargetable C compiler design and implementation. br Dynamic code generation allows programmers to use run-time information in

2668.0   NESL: A Nested Data-Parallel Language (Version 2.6) - Blelloch (1993)   (Correct)
This report describes Nesl, a strongly-typed, applicative, data-parallel language. Nesl is intended to be used as a portable interface for programming a variety of parallel and vector supercomputers, ... / PRAM model parallel programming languages collection-oriented br Sabot implemented an experimental compiler that supported nested-parallelism

2658.6   Application Generators - Smaragdakis, Batory   (Correct)
Introduction When a programming activity is well-understood, it can be automated. Automation transforms software development from activities like rote coding and tedious debugging to that of specific... / S.S. Muchnick Advanced Compiler Design and Implementation br Introduction When a programming activity is well-understood it

2648.5   Compiling for Shared-Memory and Message-Passing Computer - Larus (1994)   (Correct)
Many parallel languages presume a shared address space in which any portion of a computation can access any datum. Some parallel computers directly support this abstraction with hardware shared memory... / a shared address space. Since programmers have difficulty explicitly br there is considerable interest in compiler support for shared address spaces

2641.7   Software pipelining of nested loops - Ramanujam (1994)   (Correct)
This paper presents an approach to software pipelining of nested loops. While several papers have addressed software pipelining of inner loops, little work has been done in the area of extending it to... / which is then solved using linear programming. This allows us to treat br a major challenge to parallelizing compilers The

2635.1   Typed Closure Conversion - Minamide, Morrisett, Harper (1996)   (Correct)
We study the typing properties of closure conversion for simply-typed and polymorphic -calculi. Unlike most accounts of closure conversion, which only treat the untyped -calculus, we translate well-ty... / The usual operational models of programming languages based on the br target programs. This allows later compiler phases to take advantage of

2630.6   Bridging the gulf: a common intermediate language for ML and Haskell - Jones, Shields, al. (1998)   (Correct)
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions about order of evaluation and side effects. We propose an intermediate language into which one can ... / Introduction Functional programmers are typically split into two br State University Abstract Compilers for ML and Haskell use

2626.2   Run-Time Support and Storage Management for Memory-Mapped Persistent.. - Millard, Dasgupta, Rao, Kuramkote   (Correct)
Conventional object-oriented programming systems allow application programmers to structure each application as a set of objects. They do not allow longterm storage of the objects, nor do they allow s... / Conventional object-oriented programming systems allow application br to both the language and the compiler. Having language independence

2611.5   Object-Oriented Programming Without Recursive Types - Pierce, Turner   (Correct)
It is widely agreed that recursive types are inherent in the static typing of the essential mechanisms of objectoriented programming: encapsulation, message passing, subtyping, and inheritance. We dem... / Object-Oriented Programming Without Recursive Types br were typeset using a prototype compiler for F that typechecks

2603.2   A Compiler Approach to Scalable Concurrent Program Design - Foster, Taylor (1992)   (Correct)
The programmer's most powerful tool for controlling complexity in program design is abstraction. We seek to use abstraction in the design of concurrent programs, so as to separate design decisions co... / of Technology Abstract The programmer's most powerful tool for br A Compiler Approach to Scalable Concurrent

2592.7   Issues and Experiences in Implementing a Distributed Tuplespace - James Fenwick (1996)   (Correct)
Distributed memory multiprocessors and network clusters are being used increasingly as parallel computing resources due to their scalability and cost/performance advantages. However, it is generally b... / that shared memory parallel programming is easier than explicit message br for improvement through compiler analysis targeting the

2591.5   ICC++ - A C++ Dialect for High Performance Parallel Computing - Chien, Reddy, Plevyak, Dolby (1996)   (Correct)
ICC++ is a new C++ concurrent dialect which allows sequential/parallel program versions to be maintained with single source, the construction of concurrent data abstractions, convenient expression of ... / concurrent object-oriented programming concurrent languages br must be designed with modern compiler optimization techniques in mind.

2582.7   Techniques for Debugging Parallel Programs with Flowback Analysis - Choi, Miller, Netzer (1991)   (Correct)
Flowback analysis is a powerful technique for debugging programs. It allows the programmer to examine dynamic dependences in a program's execution history without having to re-execute the program. The... / debugging programs. It allows the programmer to examine dynamic dependences br we use the coarse traces and other compiler-generated information to

2580.8   Programming Language Semantics - Schmidt (1995)   (Correct)
interpretation provides the theory that allows a compiler writer to prove the correctness of compilers. Finally, axiomatic semantics is a long-standing fundamental technique for validating the correct... / Programming Language Semantics David A. br correct parser for the language's compiler. ffl The syntax definition

2569.7   Logic programming for the real world - Somogyi, Henderson, Conway, O'Keefe (1995)   (Correct)
this paper as an example. However, Mercury is by no means the only possible language design that fits within our proposal's framework. 2.1 A strong type system unknown Logic programming for the real w... / Logic programming for the real world Zoltan br this makes it much easier for a compiler to emit parallel code. By

2564.8   The Privatizing DOALL Test: A Run-Time Technique for DOALL Loop.. - Rauchwerger, Padua (1994)   (Correct)
Current parallelizing compilers cannot extract a significant fraction of the available parallelism in a loop if it has a complex and/or statically insufficiently defined access pattern. This is an imp... / of error over sequential programming and the resulting code may not br Abstract Current parallelizing compilers cannot extract a significant

2560.2   Thread Scheduling Cache Locality - Philbin, Edler, Anshus, Douglas, Li (1996)   (Correct)
This paper describes a method to improve the cache locality of sequential programs by scheduling fine-grained threads. The algorithm relies upon hints provided at the time of thread creation to determ... / a compiler or manually by the programmer. This paper describes an br be particularly valuable when compiler-directed tiling is not feasible.

2559.0   javar - a prototype Java restructuring compiler - Bik, Gannon (1997)   (Correct)
In this paper we show how implicit parallelism in Java programs can be made explicit by a restructuring compiler using the multi-threading mechanism of the language. In particular, we focus on automat... / a program written in the Java programming language is compiled into br a prototype Java restructuring compiler Aart J.C. Bik and Dennis B.

2557.5   Evaluating High Level Parallel Programming Support for Irregular.. - Chien, Dolby, Ganguly, Karamcheti..   (Correct)
Object-oriented techniques have been proffered as aids for managing complexity, enhancing reuse, and improving readability of irregular parallel applications. However, as performance is the major reas... / Evaluating High Level Parallel Programming Support for Irregular

2557.0   Compilation and Equivalence of Imperative Objects - Gordon, Hankin, Lassen (1997)   (Correct)
We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented la... / in particular in the design of programming languages. This paper collates br algorithm used in our prototype compiler for statically resolving method

2552.2   Compiler Technology for Parallel Scientific Computation - Can Ozturan (1994)   (Correct)
There is a need for compiler technology that, given the source program, will generate efficient parallel codes for different architectures with minimal user involvement. Parallel computation is becomi... / S. Distributed memory compiler design for sparse problems. br to appear in Scientific Programming Compiler Technology for

2540.5   Flexible Representation Analysis - Shao (1997)   (Correct)
Statically typed languages with Hindley-Milner polymorphism have long been compiled using inefficient and fully boxed data representations. Recently, several new compilation methods have been proposed... / Conference on Functional Programming ICFP' This research was br information passed at runtime a compiler can freely explore any point in

2527.3   Expressing Object Residency Optimizations Using Pointer Type.. - Eliot Moss (1994)   (Correct)
We consider some issues in optimizing persistent programming languages. In particular, we show how to express optimizations of object residency checks in strongly typed persistent languages as "annota... / issues in optimizing persistent programming languages. In particular we br by the language implementation compiler plus run time Second we can

2527.3   Automatic Selection of Load Balancing Parameters Using Compile-time.. - Siegell, Steenkiste (1996)   (Correct)
Clusters of workstations are emerging as an important architecture. Programming tools that aid in distributing applications on workstation clusters must address problems of mapping the application, he... / as an important architecture. Programming tools that aid in distributing br tools such as a parallelizing compiler. The parameters discussed are the

2524.7   Standard ML of New Jersey - Appel, MacQueen (1991)   (Correct)
The Standard ML of New Jersey compiler has been under development for five years now. We have developed a robust and complete environment for Standard ML that supports the implementation of large soft... / Lang. Implementation and Logic Programming Springer-Verlag LNCS pp. br The Standard ML of New Jersey compiler has been under development for

2519.7   The Rio File Cache: Surviving Operating System Crashes - Chen, Ng, Rajamani, Aycock (1996)   (Correct)
One of the fundamental limits to high-performance, high-reliability file systems is memory's vulnerability to system crashes. Because memory is viewed as unsafe, systems periodically write data back... / bit flip with a specific error in programming and most hardware bit flips br is not an issue such as compiler-generated temporary files.

2506.6   Static Integrity Constraint Management in Object-Oriented Database.. - Benzaken, Schaefer (1996)   (Correct)
In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of an extended version ... / in object-oriented database programming languages via predicate br this technique is embedded in the compiler technology thus no human

2503.9   `C: A Language for High-Level, Efficient, and Machine-Independent.. - Dawson Engler (1996)   (Correct)
Dynamic code generation allows specialized code sequences to be created using runtime information. Since this information is by definition not available statically, the use of dynamic code generation ... / ACM Symposium on Principles of Programming Languages January St. br use. Experiments with a prototype compiler show that C enables excellent

2499.4   Fortran M: A Language for Modular Parallel Programming - Ian T. Foster, K. Mani Chandy (1992)   (Correct)
Fortran M is a small set of extensions to Fortran 77 that supports a modular approach to the design of message-passing programs. It has the following features. (1) Modularity. Programs are constructed... / A Language for Modular Parallel Programming Ian T. Foster Mathematics br Channels are typed so a compiler can check for correct usage.

2487.1   Loop Parallelization Algorithms - Darte, Robert, Vivien   (Correct)
this paper: Example 7.1 unknown Loop Parallelization Algorithms Alain Darte, Yves Robert and Fr'ed'eric Vivien LIP, Ecole Normale Sup'erieure de Lyon, F - 69364 LYON Cedex 07, France e-mail: [Alain... / computations for and linear programming for Second they take a br as it provides guidance for a compiler-parallelizer given the

2480.9   Unifying Data and Control Transformations for Distributed.. - Cierniak, Li (1994)   (Correct)
We present a unified approach to locality optimization that employs both data and control transformations. Data transformations include changing the array layout in memory. Control transformations inv... / of the SIGPLAN ' Conference on Programming Language Design and br have developed new techniques for compiler optimizations for distributed

CiteSeer - citeseer.org - Terms of Service - Privacy Policy - Copyright © 1997-2002 NEC Research Institute