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).