Tik-76.295 Ohjelmistojen toteutustekniikat: seminaari 2-6 ov., VL
"I believe that Java will NOT be the last language.
The next language to be a "killer-language" will NOT
be an OO language but rather a higher-level functional or
constraint-based language."
-- Bill Joy, Javan kehittäjä, JavaOne 1998.
Schemellä voi ohjelmoida funktionaalisesti, mutta funktionaalinen
ohjelmointi on paljon muutakin. Seminaarissa käsitellään moderneja
funktionaalisia ohjelmointikieliä (ML, Haskell, ...), funktionaalista
ohjelmointitapaa ja ohjelmointitekniikoita, funktionaalisten
ohjelmointikielten toteutustekniikoita ja niiden tyyppijärjestelmiä,
sekä uutena eksoottisena asiana "Proof Carrying Code"a.
Seminaari kokoontuu torstaisin 14-16, ei kuitenkaan kaikkina
viikkoina. Ensimmäinen kokoontumiskerta on 3.2.2000. Paikkana on
Spektrin Kvintissä ensimmäisen kerroksen neuvotteluhuone 1204,
välittömästi hissien edessä.
Järjestäjät ovat TkL Kenneth
Oksanen ja dos. FT Petri Mäenpää.
Seminaarin materiaali perustuu konferenssiartikkeleihin ja otteisiin
alan oppikirjoista, joita ovat mm.
- Peyton-Jones, "Implementation of Functional Programming Languages"
- Abadi, Cardelli, "A Theory of Objects"
- Okasaki, "Purely Functional Data Structures"
- Jones, Lins, "Garbage Collection; Algorithms for Automatic Memory
Management"
Seminaarin aikataulu on seuraava:
- 3.2 Järjestäytyminen, äänessä pääasiassa Kenneth Oksanen
- 17.2 Jarkko Lavinen puhuu
Hindley-Milner-tyyppipäättelystä.
- 24.2 Marko Lyly kertoo
Graph Reductionista, tavasta jolla laiskoja kieliä
suoritetaan.
- 2.3 Toni
Jussila, Oliotyyppijärjestelmien
perusteita, Abadin ja Cardellin kirjan neljä ensimmäistä lukua
sekä O'Camlin
oppimateriaalia.
- 9.3 Sami Nopanen, Tyyppiluokat
- 16.3 Ville
Salmensuu, Roskankeruu
- 23.3 Riku Saikkonen, Monadit ja
monadiset parserit
- 30.3 Matti Tikkanen, Riippuvat tyypit, esimerkkeinä DeCaml ja Cayenne.
- 6.4 Antti-Pekka Liedes, Funktionaalinen
ohjelmointi käytännössä.
- 13.4 Jukka Iivonen, Proof Carrying Code
(1, 2, 3,
4, 5, 6).
- 20.4 Ville Laurikari,
Mixin-perintä ja -modulit.
- 4.5 Riku Saikkonen, Syntaktisia aspekteja: pattern matching,
makrot, komprehensiot, ...
- 11.5 Jussi Rautio, Korkean tason optimointeja
Linkkejä:
- Link lists: Philip Wadler's, Jon Mountjoy's, Klaus Reinke's.
- FP in the Real World.
- ACM SIGPLAN
- Types-forum, keskustelulista tyyppijärjestelmistä.
- Haskell
- An introduction to monads
- SML'97, SML/NJ, Moscow ML, MLton, CAML; Edinburg ML-Club.
- Some exotics: Mercury, Clean, Sisal
- Scheme.
- Erlang
- Tehokasta persistenttia funktionaalista ohjelmointia HiBase/HiPro-projekteissa.
- Seminaari
yliopistolla
- comp.lang.functional
FAQ, comp.compilers
archive.
cessu@iki.fi