|Website:||website containing additional information|
|Credits:||6 ECTS (=4.2 old credit points)|
|Period:||periode 5 (week 20 t/m 27, dwz 12-5-2003 t/m 4-7-2003; herkansing week 35)
|Participants:||up till now 22 subscriptions|
|Schedule:||Dit is een oud rooster!
|Contents:||Despite the fact that their still exist programming languages without a type system, having a properly designed type system is one of the discering aspects of a programming language. Over the years such type systems have become more and more advanced, and the expressive power has grown dramatically over the year. Haskell and ML are examples of what a full grown type system may look like. Unfortunately, when type systems become more advanced they also become more complicated to implement efficiently and to report errors correctly when a program with typing errors is supplied to a compiler.|
|Literature:||Types and Programming Languages
Benjamin C. Pierce
The MIT Press
|Course form:||In this course theory and practice go hand in hand. On the one hand we will study jointly the material from Benjamin Pierce's book, and on the other hand we take a look at the implementation of a full type inferencer and checker for (an extended subset of) Haskell. In the latter part we also study the class concept and its implementation.
Students will have to give presentations, explaining the relationship between theory and implementation, and will have to implement specific extensions.|
|Exam form:||Handed in work and presentations will be graded on an individual basis|
|Minimum effort to qualify for 2nd chance exam:||Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.|