CS 819 - Higher-Order Typed Low-Level Languages - Spring 1999

15-819(A) Special Topics in Programming Languages: Higher-Order Typed Low-level Languages
John Reynolds
Units: 12

DESCRIPTION: A major goal of programming-language research is to extend the benefits of higher-order typed programming languages, especially type safety and rigorous program verification, to lower-level languages that give the programmer more control over efficiency. In this course we will explore two approaches to this goal: (1) to start with a higher-order typed language (such as a purely functional, ML-like, or Algol-like language) and introduce features, such as linear types or explicit closures, that give the programmer more control, or (2) to start with a very low-level language (such as a machine language) and introduce a type system or verification methodology.

SCHEDULE: I have rearranged the class schedule for CS 819 to accomodate as many people as I could, subject to University holidays, classroom availablity, and my own travel plans. Except for April 14, all classes are 1:30-2:50 pm in Wean Hall, but the days and rooms vary:

Thursday, January 14 - 4615A
(no class Monday, January 18 - Martin Luther King Day)
Wednesday, January 20 - 4603
Monday, January 25 - 7220
Wednesday, January 27 - 4603
Monday, February 1 - 7220
Wednesday, February 3 - 4603
Monday, February 8 - 7220
Wednesday, February 10 - 4603
Monday, February 15 - 4601
Friday, February 19 - 4601
Monday, February 22 - 4601
Wednesday, February 24 - 4601
(no class Monday, March 1 - Mid-Semester Break)
Friday, March 5 - 4601
Monday, March 8 - 4601
Friday, March 12 - 4601
Monday, March 15 - 4601
Friday, March 19 - 4601
(no classes March 22-26 - Spring Break)
Monday, March 29 - 4601
Friday, April 2 - 4601
Monday, April 5 - 4601
Friday, April 9 - 4601
Monday, April 12 - 4601
Wednesday, April 14 - 4601 (2:00-2:50 pm)
Monday, April 19 - 4601
Friday, April 23 - 4601
Monday, April 26 - 4601
Wednesday, April 28 - 4601

PREREQUISITES: CS15-711 or equivalent

TEXT: There is no published text. The course will be based upon published papers, preprints, and occasional class notes. See the tentative bibliography given below.

Method of Evaluation: Grading will be based upon either a class presentation or a term paper.

TOPICS TO BE COVERED:

TENTATIVE BIBLIOGRAPHY:

  1. Benton, P. N. A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models (Extended Abstract). In: Computer Science Logic, 8th Workshop, CSL '94, Selected Papers, Kazimierz, Poland, September 25-30, 1994, edited by L. Pacholski and J. Tiuryn. Lecture Notes in Computer Science, vol. 933, Springer-Verlag, Berlin, 1995, pp. 121- 135.
  2. Levy, P. B. Call-by-Observable: A Subsuming Paradigm. 1998.
  3. Mason, I. A. Verification of Programs that Destructively Manipulate Data. Science of Computer Programming 10(1988) pp. 177-210.
  4. Morrisett, C., Walker, D., Crary, K., and Clew, N. From System F to Typed Assembly Language. In: Conference Record of POPL '98: The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, January 19-21. ACM Press, New York, 1998, pp. 85-97.
  5. Necula, C. C. Proof-Carrying Code. In: Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France, January 15-17. ACM Press, New York, 1997, pp. 106-119.
  6. Pitts, A. M. and Stark, I. D. B. Observable Properties of Higher Order Functions that Dynamically Create Local Names, or: What's new? In: Mathematical Foundations of Computer Science 1993, 18th International Symposium, Gdaiisk, Poland, August 30-September 3, edited by A. M. Borzyszkowski and S. Sokolowski. Lecture Notes in Computer Science, vol. 711, Springer-Verlag, Berlin, 1993, pp. 122-141.
  7. Reddy, U. S. Objects and Classes in Algol-like Languages. June 14, 1998.
  8. Reynolds, J. C. Idealized Algol and its Specification Logic. In: Tools and Notions for Program Construction, An advanced course, Nice, France, December 7-18, 1981, edited by D. Neel. Cambridge University Press, Cambridge, England, 1982, pp. 121-161.

COMMENTS:

John.Reynolds@cs.cmu.edu (home page)
last updated February 4, 1999