TOOL

Types in Object-Oriented Languages

[TOOL home]

[Course plan]

[Participants]

[Exam project]

[Literature]

[Links]

[Curriculum]

Course literature

Lecture 2

  • Bracha et.al.: Making the Future Safe for the Past - Adding Genericity to the Java Programming Language (pdf)
  • Myers et.al.: Parameterized Types for Java (ps)
  • Kennedy and Syme: The Design and Implementation of Generics for the .NET Common Language Runtime (pdf)

    Optional:

  • Cartwright and Steele: Compatible Genericity with Run-time Types for the Java(tm) Programming Language (ps)
  • Agesen et.al.:Adding Type Parameterization to the Java Language (pdf)

Lecture 3

  • Igarashi, Pierce and Wadler: Featherweight Java - A Minimal Core Calculus for Java and GJ (pdf)
  • Luca Cardelli: Structural Subtyping and the Notion of Power Type(pdf)

    Optional:

  • Igarashi, Pierce and Wadler: Featherweight Java - A Minimal Core Calculus for Java and GJ (pdf)
    Full journal version with proofs

Lecture 4

  • Thorup and Torgersen: Unifying Genericity - Combining the Benefits of Virtual Types and Parameterized Classes (pdf)
  • Odersky et.al.: An Overview of the Scala Programming Language (pdf)

    Optional:

  • Odersky et.al.: An Introduction to Scala (pdf)
    a slightly longer document
  • Odersky et.al.: A Nominal Theory of Objects with Dependent Types (pdf)
    theoretical foundations for Scala
  • Odersky: The Scala Experiment - Can we Provide Better Language Support for Component Systems? (pdf)
    Slides from an invited talk at APLAS

Lecture 5

  • Bruce et.al.: On Binary Methods (ps)
  • Torgersen: Virtual Types are Statically Safe (ps)
  • Torgersen et.al.: Adding Wildcards to the Java Programming Language (pdf)

    Optional:

  • Bruce et.al.: Subtyping is not a Good "Match" for Object-Oriented Languages (ps)

Lecture 6

  • Wadler: The Expression Problem (txt)
  • Bruce: Some Challenging Typing Issues in Object-Oriented Programming Languages (pdf)
  • Torgersen: The Expression Problem Revisited - Four New Solutions Using Generics (pdf)
  • Ernst: Safe Dynamic Multiple Inheritance (pdf)

    Optional:

  • Odersky and Zenger: Independently Extensible Solutions to the Expression Problem (pdf)