CSC 530 Readings
CSC 530: Readings in Principles of Programming Languages
In the online version of this table of contents,
document titles are linked to the electronic version of the document,
when an electronic version is available.
Functional Programming
-
Hudak, P.
Conception, Evolution, and Application of Functional Programming Languages,
ACM Computing Surveys, 21, 3, pp. 359-411 (September 1989).
-
McCarthy, J. A.
Recursive functions of Symbolic Expressions and Their Computation by Machine,
Part I,
Communications of the ACM 3, 4, pp. 184-195 (April 1960).
-
Backus, J.
Can Programming Be Liberated from the von Neumann Style? A Functional Style and
Its Algebra of Programs,
Communications of the ACM, 21, 8, pp. 613-641 (August 1978).
-
Pippenger, N.
Pure versus Impure Lisp,
ACM Transactions on Programming Languages and Systems, 19, 2, pp.
109-138 (March 1997).
-
Umut, A. A., G. E. Blelloch, R. Harper.
Adaptive Functional Programming,
ACM SIGPLAN Symposium on Principles of Programming Languages, pp.
247-259 (January 2002).
Type Systems
-
Cardelli, L. and P. Wegner.
On Understanding Types, Data Abstraction, and Polymorphism,
ACM Computing Surveys, 17, 4, pp. 471-522 (December 1985).
-
Taivalsaari, T.
On the Notion of Inheritance
(abstract and references only), ACM Computing Surveys, 28, 3, pp.
438-479 (September 1996).
-
Myers, A. C., J. A. Bank, B. Liskov,
Parameterized Types for Java,
ACM SIGPLAN Symposium on Principles of Programming Languages, pp.
132-145 (January 1997).
-
Odersky, M., P. Wadler.
Pizza into Java: Translating Theory into Practice,
ACM SIGPLAN Symposium on Principles of Programming Languages, pp.
146-159 (January 1997).
An additional type-system paper referenced in Lecture Notes Week
3:
Danforth, S. and C. Tomlinson.
Type Theories and Object-Oriented Programming,
ACM Computing Surveys, 20, 1, pp. 29-72 (March 1988).
Attribute Grammar Semantics
-
Kunth, D. E. Semantics of Context-Free Languages, Mathematical
Systems Theory, 2, 2, pp. 127-145, Springer-Verlag (1967).
-
Bochmann, G. V. Semantic Evaluation from Left to Right,
Communications of the ACM, 19, 2, pp. 55-62 (February 1976).
-
Kennedy, K. and S. K. Warren, Automatic Generation of Efficient Evaluators
for Attribute Grammars (abstract and references only), ACM Symposium
on Principles of Programming Languages, pp. 32-49 (January 1976).
-
Demers, A., T. Reps, and T Teitelbam, Incremental Evaluation for Attribute
Grammars with Application to Syntax-Directed Editors (abstract and
references only), ACM Symposium on Principles of Programming
Languages, pp. 105-116 (January 1981).
-
Jourdan, M. Strongly Non-Circular Attribute Grammars and their Recursive
Evaluation (abstract and references only), ACM SIGPLAN Symposium on
Principles of Programming Languages, pp. 81-93 (June 1984).
-
Micallef, J. G. E. Kaiser. Extending Attribute Grammars to Support
Programming in the Large (abstract and references only), ACM
Transactions on Programming Languages and Systems, 16, 5, pp. 73-108
(September 1994).
-
Boyland, J. T. Conditional Attribute Grammars (abstract and references
only), ACM Transactions on Programming Languages and Systems, 18,
1, pp. 73-108 (January 1996).
Denotational Semantics
-
Scott, D. and C. Strachey. Towards a Mathematical Semantics for Computer
Languages, Symposium on Computers and Automata, pp. 19-46 (April
1971).
-
Reynolds, J. C. Definitional Interpreters for Higher-Order Programming
Languages (abstract and references only), Proceedings of the ACM
National Conference, pp 717-740 (1972).
-
Tennent, R. D. The Denotational Semantics of Programming Languages,
Communications of the ACM, 19, 8, pp. 437-453 (August 1976).
-
Tennent, R. D. Principles of Programming Languages (Chapters 3 and
13), Prentice-Hall (1981).
-
Gudeman, D. A. Denotational Semantics of a Goal-Directed Language
(abstract and references only), ACM Transactions on Programming
Languages and Systems, 14, 1, pp. 107-125 (January 1992).
-
Banerjee, A., D. A. Naumann. Representation Independence, Confinement,
and Access Control [extended abstract], ACM SIGPLAN Symposium on
Principles of Programming Languages, pp. 166-177 (January 2002).
Axiomatic Semantics
-
Floyd, R. W. Assigning Meaning to Programs, Symposium in Applied
Mathematics, 19, American Mathematical Society, pp. 19-32 (1967).
-
Hoare, C. A. R. An Axiomatic Basis for Computer Programming,
Communications of the ACM, 12, 10, (October 1969).
-
Hoare, C. A. R. and M. Clint, Program Proving: Jumps and Functions
(abstract and references only), Acta Informatica, 1 pp. 214-224
(1972).
-
Hoare, C. A. R. Proof of Correctness of Data Representations (abstract
and references only), Acta Informatica, 1 pp. 271-281 (1972).
-
Hoare, C. A. R. and N. Wirth, An Axiomatic Definition of the Programming
Language PASCAL (abstract and references only), Acta Informatica 2,
pp. 335-355 (1973).
-
Boyer, R. S. and J. S. Moore, Proving Theorems about LISP Programs
(abstract and references only), Journal of the ACM, 22, 1, pp
129-144 (January 1975).
-
Wegbreit, B. The Synthesis of Loop Predicates (abstract and references
only), Communications of the ACM, 17, 2, pp. 102-112 (February
1974).
-
DeMillo, R. A., R. J. Lipton, and A. J. Perlis. Social Processes and
Proofs of Theorems and Programs, ACM SIGPLAN Symposium on Principles
of Programming Languages, pp. 206-214 (January 1977).
-
Necula, G. C., Proof-Carrying Code (abstract and references only), ACM
SIGPLAN Symposium on Principles of Programming Languages, pp. 106-119
(January 1997).
-
Qian, Z. Standard Fixpoint Iteration for Java Bytecode Verification
(abstract and references, ACM Transactions on Programming Languages
and Systems only), 22, 4, pp. 638-672 (July 2000).
-
Flanagan, C., J. B. Saxe. Avoiding Exponential Explosion: Generating
Compact Verification Conditions (abstract and references only), ACM
SIGPLAN Symposium on Principles of Programming Languages, pp. 193-205
(January 2001).
Algebraic Semantics
-
Goguen, J. A., J. W. Thatcher, H. G. Wagner, and J. B. Wright. Initial
Algebra Semantics and Continuous Algebras (abstract and references only),
Research Report RC5243, IBM Thomas J. Watson Research Center (1975).
-
Guttag, J. V., E. Horowitz, and D. R. Musser. Abstract Data Types and
Software Validation, Communications of the ACM, 21, 12, pp.
1048-1064 (December 1978).
-
Goguen, J. A. Parameterized Programming. IEEE Transactions on
Software Engineering, SE-10, 5, pp. 428-543 (September 1984).
-
Goguen, J. A. and J. Meseguer. Order-Sorted Algebra Solves the
Constructor-Selector, Multiple Representation and Coercion Problems
(abstract and references only), ACM SIGPLAN Symposium on Principles of
Programming Languages, pp. 18-29, (January 1987).
-
Goguen, J. A., C. Kirchner, and J. Meseguer. Concurrent Term Rewriting as
a Model of Computation (abstract and references only), Technical Report
SRI-CSL-87-2, Computer Science Laboratory, SRI International (May 1987).
-
Goguen, J. A. and T. Winkler. Introducing OBJ3 (abstract and references
only), Technical Report SRI-CSL-88-9, Computer Science Laboratory, SRI
International (August 1988).
-
Clavel, M., et al. A Maude Tutorial (abstract and references only), SRI
International, http://maude.csl.sri.com/tutorial, (March 2000).
-
Goguen, J. A. The OBJ Family, http://www.cs.ucsd.edu/users/goguen/sys/obj.html
(March 2002).