16th European Conference on Object-Oriented Programming
University of Málaga, Spain
June 10-14, 2002
Technical programme > Tutorials > Tutorial #3
General Information
Call for Contributions
Technical Programme
Useful Information
Social Programme

<< Site map >>
<< History file >>

Ecoop 2002 is organized in cooperation with:
Important dates
Oct 01
Nov 01
Dec 01
Jan 02
Feb 02
Apr 02
May 02
Jun 02

You are the visitor number

from 4th October 2001.


Tutorial #03 - Foundations of object-oriented languages: Types and Language Design

Morning T01 T02 T03 T05 T07 T09 T11 T13 T14 T15 T17 T19 T21 T23
Afternoon T04 T06 T08 T10 T12 T16 T18 T20 T22 T24


Foundations of object-oriented languages: Types and Language Design

Presenter :Kim Bruce (Williams College, USA)
Duration :Half day
Day :Monday - morning
Level :Advanced






Static typing aids in earlier error detection, supports compiler optimizations, and provides information to programmers on the intended use of constructs. However, simple static-typing disciplines for object-oriented languages like C++ and Java are so restrictive that programmers are forced to by-pass the type system with type casts. Other languages allow more freedom, but require run-time checking to pick up the type errors that their more permissive systems missed. After surveying problems with existing type systems (illustrated by a series of sample programs), we discuss subtype and subclass restrictions, and suggest ways of improving the expressiveness of object-oriented languages while retaining static type safety. Advanced constructs discussed include `"MyType", "matching", and "bounded polymorphism". We include a brief discussion on how the type system and semantics ensure type safety. We apply the concepts in the tutorial to compare the strengths and weaknesses of proposals to extend Java to support genericity based on F-bounded polymorphism, "where" clauses, match-bounded polymorphism, and virtual types.


Required experience

Attendees should be very comfortable with the concepts of and programming in class-based object-oriented programming languages and experienced with static typing systems. Frustration with the rigidities of statically-typed object-oriented languages will be a helpful motivator.


Expected audience

The tutorial is aimed at programmers who would like the flexibility of weakly or dynamically typed languages, but the error detection and efficiency of statically-typed languages, as well as language designers and others who would like to see the applications of type theory to language design.


Presenter's profile

Kim Bruce is Wells Professor of Computer Science at Williams College in Massachusetts, USA. He received his B.A. from Pomona College and Ph.D. from the University of Wisconsin. He taught at Princeton University before coming to Williams, and has been a visiting professor or scientist at M.I.T., Stanford, Ecole Normale Superieure, the University of Pisa, the Newton Institute for Mathematical Sciences at Cambridge University, and Princeton. He has worked on the types and semantics of object-oriented languages for over 15 years. He has served twice on the OOPSLA program committee, and served as chair of the organizing committee of the FOOL workshops on the Foundations of Object-Oriented Languages from 1993 to 2001. He has presented papers at the ECOOP, OOPSLA, POPL, MFPS, and LICS conferences. He is the author of the forthcoming book, Foundations of Object-Oriented Languages: Types and Semantics, to be published in early 2002 by MIT Press.



















Tutorial #03 - Foundations of object-oriented languages: Types and Language Design
Last modified on Feb 14, 2002
Maintained by webmaster@2002.ecoop.org