Aikani kirjailtuani tuota Pythonilla väsättyä sovellusta välillä tekee mieli aloitella aivan kokonaan uusi projekti. Vaihtoehtoina voisi olla C++:lla viritelty Tower Defense -versio, tai jatkaa peräti vanhoja, osittain haudattuja projekteja. Toinen olisi keväällä puhumani MPD-kirjasto ja toinen olisi Javalla kirjailtu lukujärjestysohjelma. Ei nyt kumpikaan paljoa houkutellut. Javalla olisi kiva vähän verestellä taitoja, mutta aikamoista pakkopullaa siinäkin olisi. Se pitäisi melkein aloitella alusta tekemään, niin olisi jotain mieltä. Mutta sitten se välähti päähäni!
Haskell tuntuisi osuvan tähän saumaan kuin reikä hampaaseen. Funktionaalinen ohjelmointimalli tuntuu oudosti mallintuvan sitä helpommin mitä oliomaisempi se tavoitekin on. Minulla on juuri simppeleitä rakenteita edessä, joita varten Haskell on oikein rakennettu. Jokainen Haskell-tutoriaalikin tuntuu painottavan näitä kysymyksiä. Esimerkiksi kurssi on rakenne, johon kuuluu kurssin nimi, lyhenne ja vastuuhenkilö. Sitten sille on määrätty luentoajankohdat — selvä listaratkaisu, sekä demot samaan tapaan.
Ja koska tavoitteena on saada luennot sitten lopulta HTML:nä ulos, ei liikaa interaktiivisuuttakaan tarvita. Lopullinen tulos voi toimia tiedostoista käsin. Kuulostaa melkein valmiilta. Haskellin data
-rakenteet ja “tietueet” ovat tuttuja, mutta nyt vasta keksii, mihin niitä voikaan käyttää.
Yksi mörkö on tietty tulossa, mutta eiköhän tutoriaaleja seuraamalla siitäkin päästä. Nimittäin syötteen parserointi. Javalla olen jo kirjaillut joitain malleja. Haskellin funktionaalisuus totta kai kiehtoo, ja nyt olisi erittäin hyvä tilaisuus päästä kirjoittamaan pieni sovellus tälle kielelle, ehkä päästä sisäänkin. Tämä on toivottavasti tilaisuuteni. Jos tämä saa tulta alleen, tulen kirjailemaan prosessin välivaiheita esille.