University of Virginia, Department of Computer Science
CS655: Programming Languages, Spring 2000

Manifest: Thursday, 10 February 2000

Office Hours

I will have office hours today (Thursday) from 2:15 until 3:30 and Friday from 2:00 until 4:00. Groups that have not finished converging on a project idea are encouraged to meet with me this week.
Assignments Due
Wednesday, 16 Feb Project Proposals
Monday, 21 Feb 11:59pm Position Paper 2: An Array of Arrays

Readings

No new readings. Read before Tuesday's class (handed out 8 Feb):

· B. Liskov, A. Snyder, R. Atkinson and C. Schaffert. Abstraction Mechanisms in CLU. Comm. ACM, August 1977.
Go through the CLU Worksheet as you read this paper.
· Barbara Liskov and John Guttag. Abstraction and Specification in Program Development. Chapter 4: Data Abstraction. 1986.
Required: Sections 4.5, 4.6 and 4.9.4 only. Read the rest if you were confused by parts of the Abstraction Mechanisms in CLU paper.

Questions
  • What does it mean for a language to have latent or manifest types? What are advantages and disadvantages of each?
  • What does it mean for a language to have static or dynamic type checking? What are advantages and disadvantages of each?
  • What does it mean for a language to have weak or strong type checking? What are the advantages and disadvantages of each?
  • Describe the type system of languages you know.
  • How to reflect typing rules using operational semantics.
  • How to create typing rules corresponding to an informal language description.
  • How to construct a proof that a language fragment is well-typed.
We are on the verge: Today our program proved Fermat's next-to-last theorem.
Alan Perlis

CS 655 University of Virginia
CS 655: Programming Languages
cs655-staff@cs.virginia.edu