Course Pages
-
Education Page
-
Description
-
Schedule
-
Projects
-
Software
-
Examination
-
Interesting Links
Center
Master Program
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Course Description
TS0506
The course will be based on the following components: %TOC% ---+++ Joint reading We will jointly read "A Static Semantics for Haskell", [[http://www.it.kth.se/~kff/publications.html][Karl Filip Faxén]], \ [[http://www.journals.cambridge.org/action/displayFulltext?type=1&inline=Y&fid=114972&jid=JFP&volumeId=12&issueId=4+5&aid=114971][Journal of Functional Programming Vol 12, Issue 5.]] (link through library of Universiteit Utrecht, presumably works only from within university network). This paper gives a complete dscription of Haskell's type system, in the traditional style. This paper is not easy reading, but it is prototypical of the kind of work involved when giving such descriptions. Students will learn here how to decipher such formal descriptions. Furthermore we will study: Simon Peyton Jones and Mark Shields. [[http://research.microsoft.com/Users/simonpj/papers/putting/index.htm][Practical type inference for arbitrary-rank types]]. ---+++ Presentations Participants will present chapters of the new book edited by Benjamin C. Pierce, [[http://www.cis.upenn.edu/~bcpierce/attapl/index.html][Advanced Topics in Types and Programming Languages]]. This book, which can be seen as a successor of the book [[http://www.cis.upenn.edu/~bcpierce/tapl/index.html][Types and Programming Languages]] discusses a wide range of topics related to the use of types in programming languages. ---+++ A programming assignment In order toget hands on experience we have defined a number of assigments, realted to software we are currently developing: * Extension of the Helium compiler to handle classes * Extension of the EHC compiler to handle modules * Extension of the EHC to include Generalised Abstract Data Types. At the end of the course short presentatations will be scheduled in which the results of the assigments are to be presented. ---+++ Time management We expect the course to put quite a heavy load on many on you. In order to keep track of the time spent, we require you to maintain a bookkeeping of the time spent (in half hour units) on your home page on the Wiki.Please mail us te link to your page. ---+++ Selected material for mid-test The material to be studied for the mid-test are the topics covered in: * Faxen's _a static sementics_ * Peyton-Jones' _arbitrary-rank types_ * Selected parts of the (online) [[http://www.haskell.org/onlinelibrary/][Haskell 98 Report]] You are allowed to bring the two papers and a (paper) copy of the report to the test. In particular, you are advised to study the topics and figures that have been discussed during the meetings, and the following parts selected from the Haskell 98 Revised Report: * Type Classes and Overloading (4.3) * Static Semantics of Bindings (4.5)<br> In particular: * dependency analysis * monomorphism restriction * Kind Inference (4.6) * Modules (5.2 - 5.5)<br> In particular: * import/export lists * qualified names -- Main.BastiaanHeeren - 27 Sep 2005