Registreerumine: Meiliga Tarmo Uustalule aadressil firstname(at)cs.ioc.ee. Tähtaeg: 21.5.2008 kl 17.00.
Kood: ITT9204
Punkte: 1.5 AP
Tunde: 6 tundi loenguid
Tunniplaan: loengud E 26.5 kl 14-15.30, T 27.5 kl 10-11.30 ja 14-15.30 Küberneetika Maja (Akadeemia tee 21) (NB! plaan, võib muutuda)
Kontrollivorm: eksam
Eksam: Eksamihinde saamiseks tuleb teostada miniprojekt. Tähtaeg R 6.6.2008!
Õppejõud: dr. Ralph Matthes, IRIT, Université Paul Sabatier (Toulouse 3)
Kontakt: Tarmo Uustalu, firstname(at)cs.ioc.ee, 620 4250
Kursus toimub RAKi Meetme 1.1 IKT doktorikooli projekti raames.
Dr. Ralph Matthes
Institut de Recherche en Informatique de Toulouse (IRIT)
Université Paul Sabatier (Toulouse 3)
The tutorial has three axes, based on the following three papers:
This is a Marktoberdorf tutorial on the practical usage of monads for programming in Haskell with effects. Nevertheless, an operational semantics is included that helps with a more formal understanding.
This paper that admittedly is "strongly tutorial in style" presents an excellent case for monadic programming: Damas-Milner type inference plus extensions by type annotations, bidirectionality and higher ranks. The monad holds all the binding for the meta type variables and manages exceptions and the environment (but the latter not by side-effect).
This article in the Reynolds Festschrift updates Reynolds' work from the 70ies on proving agreement of different semantics for untyped languages. The framework is now a multi-monadic metalanguage with sub-effecting, and direct and continuation semantics for a toy language with call-by-value and call-by-name lambda-abstraction are represented with monads and shown to agree for closed expressions.
(All fulltexts available from within TUT computer network.)