263 Reading List for Spring '96
Functional Languages
- Can Programming be Liberated from the Von Neumann Style?
J. Backus, Communications of the ACM, 21, 8, pp.613-641, 1978.
- Conception, Evolution, and Application of Functional
Programming Languages, Paul Hudak, ACM Computing Surveys,
Volume 21, Number 3, pp.359--411, 1989.
-
Introduction to Standard ML. R. Harper.
- A Gentle Introduction
to Haskell. Paul Hudak and Joseph Fasel. Sigplan
Notices, May 1992. (Also avilable from the
Haskell Introductory page.
- Imperative functional
programming. Simon Peyton Jones and Philip Wadler.
20'th Symposium on Principles of Programming Languages,
ACM Press, Charlotte, North Carolina, January 1993.
- Pointer to the functional language FAQ.
Language Evaluation
- Remaining Trouble Spots in Algol 60, Donald Knuth,
Communications of the ACM, Volume 10, Number 10, 1967.
- Why Pascal is Not my
Favorite Programming Language. Brian W. Kernighan,
Computing Science Technical Report No. 100,
AT&T Bell Laboratories, April 2,1981.
Abstract Data Types
- Barbara Liskov, et. al.
Abstraction Mechanisms in CLU, CACM '77
- SRC Modula-3 Version 3.3,
Language Definition. Bill Kaslow and Eric Muller.
- Abstract Data Types and the Development of Data Structures.
John V. Guttag, Communication of the ACM, 20-6, June 1977,
pp. 396--404.
Object-Oriented Languages
- Self: The Power of Simplicity,
OOPSLA '87 Conference Proceedings, pp. 227-241, Orlando, FL,
October, 1987.
- Bertrand Meyer. Eiffel: The Language. Object-Oriented Series.
Prentice Hall, New
York, N.Y., 1992.
- Typechecking and Modules for
Multi-Methods. Craig Chambers and Gary Leavens. Revised
version of a paper by the same title in the
OOPSLA'94 Conference Proceedings, Portland, Oregon, October 1994.
- A Behavioral Notion of Subtyping.
Barbara H. Liskov and Jeannette M. Wing. ACM
Transactions on Programming Languages and Systems, November 1994.
- Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow.
The Art of the Metaobject
Protocol. The MIT Press, Cambridge, Mass., 1991.
- Static Typing for
Object-Oriented Programming. Jens Palsberg and Michael
I. Schwartzbach. To appear in Scientific Programming.
C++ and Relatives
Type Inference
- A Syntactic
Approach to Type Soundness. Andrew Wright and Matthias Felleisen.
Information and Computation. To appear.
- Integrating Functional and Imperative Programming.
David Gifford and John Lucassen, 13th Symposium on
Principles of Programming Languages, 1986.
- Algebraic Reconstruction
of Types and Effects. Pierre Jouvelot and David K. Gifford.
18th Symposium on Principles of Programming Languages, 1991.
pp. 303-310.
- Graph Types. Nils Klarlund and
Michael I. Schwartzbach. In ACM Symposium on Principles of
Programming Languages, 1993.
Abstract Interpretation
- The Theory and Practice of Transforming Call-By-Need into Call-By-Value,
A. Mycroft,
Proceedings of the 4th International Symposium on Programming,
April, 1980, pp. 269-281. In LNCS No. 83.
*
- Abstract Models of Memory
Management. Greg Morrisett, Matthias Felleisen,
and Robert Harper. Proceedings of Function Programming and
Computer Architecture, 1995.
Partial Evaluation
- Tutorial Notes on Partial Evaluation.
C. Consel and O. Danvy.
In ACM Symposium on Principles of Programming Languages,
pages 493-501, 1993.
- Optimistic Incremental Specialization:
Streamlining a Commercial Operating System.
C. Pu, T. Autrey, A. Black, C. Consel, C. Cowan, J. Inouye,
L. Kethana, J. Walpole, and K. Zhang.
In ACM Symposium on Operating Systems Principles, 1995.
Parallel Languages
- NESL: A Nested Data-Parallel Language
(Version 2.6). Guy E. Blelloch. CMU-CS-93-129, April, 1993.
- Linearizability: A Correctness Condition for Concurrent
Objects, Maurice P. Herlihy and Jeannette M. Wing,
ACM Transactions on Programming Languages and Systems,
July 1990, pp. 463-492.
Languages for Distributed Computing
- Barbara Liskov and Robert Scheifler. Guardians and Actions:
Linguistic Support for
Robust, Distributed Programs. ACM Transactions on
Programming Languages and
Systems, 5(3):381-404, July 1983.
- A Language with
Distributed Scope. Luca Cardelli. Revised version
of a paper by the same title in the 22'nd Symposium on
Principles of Programming Languages, ACM Press, January
1995.
Kathy Yelick, yelick@cs.berkeley.edu.