|
Monday Afternoon
|
| 29 | Virtual Classes in the BETA Language Ole Lehrmann Madsen, Aarhus University |
Colorado Convention Center - C102 |
|
Generic classes or types are most often supported by parameterized classes based on various forms of parametric polymorphism. In OO languages virtual classes present an alternative where new classes are derived from generic ones using inheritance rather than function application. Both mechanisms provide the same basic form of genericity but differ in interesting ways. Virtual classes first appeared in BETA, and have successfully been used for more than 15 years. The tutorial will present basic elements of BETA with main emphasis on virtual classes and will discuss typing issues such as substitutability, co- and contravariance, static typing, etc. The participants will get a detailed introduction to basic elements of BETA, in particular virtual classes. The participants will learn about the pros and cons of virtual classes compared to other proposals for type parameterization.
The participants will be able to evaluate the many proposals in the literature for generic types based on virtual classes and parameterized classes. Finally the participants will become familiar with the implementation of virtual classes. Attendee Background: Participants should be experienced with object-oriented programming and be familiar with issues regarding parameterized classes including static typing, substitutability, co-/contravariance, etc. The speaker has been working with OO since the early seventies, starting with Simula. He is one of the designers of BETA and he was the main designer and implementer of the Mjolner BETA compiler. He has participated in many projects on OO in research as well as industry. He is currently a professor in Computer Science at Aarhus University and research director of the Danish National Centre for IT Research. He is co-founder and president of the board for Mjolner Informatics, which develops and markets the Mjolner System. |
|
at a Glance |
|
of all Tutorials |
|