Yhteenvetoa ja sovelluksia TIES341 Funktio-ohjelmointi 2 Kevät 2006
Luentojen aiheet Luento 1: Aloitus Luennot 23: Tyyppiluokat Luennot 45: Monadit Luennolla 5 myös: Tietueet Luennot 68: TaasLaskin monadien käyttöesimerkki (itse laskin) tyyppijärjestelmät unifikaatio Luento 9: ST-monadi, STRef, IORef Luento 10: mdo (arvorekursio) Luennot 1112: Nuolet Luento 13: Jatkeet Luento 14: Tämä luento
Demoissa lisäksi Demo 1: ShowS, Gtk2HS Demo 5: Parsec Demo 6: Tackling the Awkward Squad Demo 7: Fruit/wxFruit Demo 8: Haskell XML Toolbox torstain luennon paikalla
Tarinan opetus? Näkökulma 1 Kurssilla käsiteltiin edistyneiden funktio- ohjelmoijien käyttämiä abstraktiokeinovaroja Näkökulma 2 Kurssilla käsiteltiin imperatiivisen ohjelmoinnin maton alle lakaistuja villakoiria
In the Year Two Thousand... Väitteeni on edelleen: Tältä ohjelmointi näyttää vuonna 2015! Mutta toki siihen mennessä on joitakin teräviä kulmia hiottu pois, joihin vielä nyt helposti satuttaa itsensä Yksityiskohdissa (mm. syntaksi) toki eroja Haskellin motto (Simon Peyton Jones 2003): “Avoid success at all costs.” Tony Hoare: “I fear that Haskell is doomed to succeed” (http://research.microsoft.com/~simonpj/papers/haskell- retrospective/)
Sovelluksia: darcs David's Advanced Revision-Control System Taustalla ajatus muutosten algebrasta “theory of patches”, inspiraatio kvanttimekaniikasta Ensimmäinen versio: C++ buginen paska, kieli ei tukenut bugittomuutta Uusi yritys: Haskell nykyinen versio Haskellilla Haskellilla teorian ja käytännön ero ei ole suuri :) Luettavaa http://darcs.net/ http://darcs.net/DarcsWiki/Talks
Sovelluksia: PUGS Perl 6:n toteutus -Ofun http://www.pugscode.org/
Sovelluksia: Yi Haskell-pohjainen tekstieditori vrt. Emacs, Vi ym. kesken http://www.cse.unsw.edu.au/~dons/yi.html http://www.cse.unsw.edu.au/~dons/papers/SC05.html
Tentistä Koealue: Kaikki luentoasiat Kaikki demotehtävät Demoissa luettavaksi annetut artikkelit Suuret linjat olennaisempia kuin yksityiskohdat Monadien, tyyppiluokkien, tietueiden ja nuolien perusasiat myös yksityiskohtaisesti Saattaa tulla aineistotehtäviä aineisto tulee silloin tenttipaperin mukana Perinteinen tentti, ei apumateriaalia