Haskell meetup: parseJsonWorkshop :: ToJSON a => a -> JsonWorkshop

Sezonu Haskell meetup-ova počinjemo s – praktično – radionicom. Prva tema koju ćemo obraditi je rukovanje JSON-om uz popratne aktivnosti. Obradit ćemo najpopularniji library iz Haskellanda – Aeson, i možda dotaknuti i standardni Data.JSON lib ako stignemo.

Radit ćemo na primjeru Github API-ja. Pokušati ćemo parsirati Github repo API response i pretvoriti ga u korisnički definiran tip.

Zadatak smo zamislili u 3 varijante, tj. težine.

– Parsiranje predfiniranog stringa (najlakše, nema IO),
– Parsiranje JSON responsa iz file-a (srednje teško – osnovni disk IO),
– Parsiranje pravog JSON HTTP response-a s Githuba (teško – HTTP IO, koristit ćemo wreq HTTP lib).

Zamišljeno je da svatko odabere zadatak prikladne težine te da ga kolektivnom inteligencijom riješimo.

Ukoliko je netko već upoznat sa tematikom može skočiti na naprednije varijante. Sukladno, ako je netko skroz nov u Haskellu može se zadržati i na prvom zadatku.

Alternativno, možemo i obraditi sva tri zadatka sekvencijalno, ako se to pokaže zgodnijom varijantom.

više