20. POPL 1993: Charleston, South Carolina, USA
- Mary S. Van Deusen, Bernard Lang:
Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina, USA, January 1993. ACM Press 1993, ISBN 0-89791-560-7
Advanced Tutorial
Session 1
- Dror E. Maydan, Saman P. Amarasinghe, Monica S. Lam:
Array Data-Flow Analysis and its Use in Array Privatization. 2-15 - Siddhartha Chatterjee, John R. Gilbert, Robert Schreiber, Shang-Hua Teng:
Automatic Array Alignment in Data-Parallel Programs. 16-28
Session 2
- Stephen Weeks, Matthias Felleisen:
On the Orthogonality of Assignments and Procedures in Algol. 57-70
Session 3
- Atsushi Ohori, Kazuhiko Kato:
Semantics for Communication Primitives in an Polymorphic Language. 99-112 - Damien Doligez, Xavier Leroy:
A Concurrent, Generational Garbage Collector for a Multithreaded Implementation of ML. 113-123
Session 4
- Julia L. Lawall, Olivier Danvy:
Separating Stages in the Continuation-Passing Style Transformation. 124-136
Advanced Tutorial
- John C. Reynolds:
An Introduction to Logical Relations and Parametric Polymorphism - Tutorial. 155-156
Session 5
- Jon G. Riecke, Ramesh Subrahmanyam:
Algebraic Reasoning and Completeness in Typed Languages. 185-195
Session 6
Session 7
- Jong-Deok Choi, Michael G. Burke, Paul R. Carini:
Efficient Flow-Sensitive Interprocedural Computation of Pointer-Induced Aliases and Side Effects. 232-245 - Kwangkeun Yi, Williams Ludwell Harrison III:
Automatic Generation and Management of Interprocedural Program Analyses. 246-259 - Harini Srinivasan, James Hook, Michael Wolfe:
Static Single Assignment for Explicitely Parallel Programs. 260-272
Session 8
- Kim B. Bruce:
Safe Type Checking in a Statically-Typed Object-Oriented Programming Language. 285-298
Session 9
- Kim Marriott, Peter J. Stuckey:
The 3 R's of Optimizing Constraint Logic Programs: Refinement, Removal and Reordering. 334-344 - Annalisa Bossi, Michele Bugliesi, Maurizio Gabbrielli, Giorgio Levi, Maria Chiara Meo:
Differential Logic Programming. 359-370
Session 10
- Ali-Reza Adl-Tabatabai, Thomas R. Gross:
Evicted Variables and the Interaction of Global Register Allocation and Symbolic Debugging. 371-383
Session 11
Session 12
- Michael Codish, Saumya K. Debray, Roberto Giacobazzi:
Compositional Analysis of Modular Logic Programs. 451-464 - Shinn-Der Lee, Daniel P. Friedman:
Quasi-Static Scoping: Sharing Variable Bindings Across Multiple Lexical Scopes. 479-492
Tutorials
The last years have witnessed a flurry of new results in the area of partial evaluation. These results include: (1) a better understanding of the underlying mathematical principles, (2) better strategies for implementing partial evaluation systems, and (3) new extensions that widen the range of applications and thus should broaden the community of users. This tutorial surveys the field, presents a critical assessment of the state of the art, and explores promising directions where partial evaluation can be used. Concrete examples are given, using our binding-time based partial evaluator for Scheme programs, Schism.
In many kinds of interactive systems (e.g., systems for computer-aided design, language-sensitive editors, word processors, spreadsheets, ...) as well as in other contexts, modifications of the input data are to be processed immediately so as to have immediate effect on the output. Because small changes in the input to a computation often cause only small changes in the output, the challenge is to compute the new output incrementally by updating parts of the old output, rather than by recomputing the entire output from scratch - in other words, to make use of the solution to one problem instance to find the solution to a ``nearby'' problem instance. Incremental computation techniques may also be used in ``non-interactive'' contexts, such as optimizing compilers. This tutorial will survey the body of work that exists on this subject.