Haskell
- Zadaná množina (rastúci zoznam unikátnych prvkov) a zobrazenie (zoznam dvojíc prvkov), úlohou bolo nájsť vzor a obraz množiny (a vrátiť opäť ako zoradený zoznam unikátnych prvkov).
- Prevod obecného stromu na kanonickú reprezentáciu binárnym stromom (ľavý syn je prvorodený syn a pravý je mladší brat) a naspäť, pri prevode z binárneho na obecný môže vzniknúť les.
- Nájsť (bezprostredne) predchádzajúcu permutáciu v lexikografickom usporiadaní. (varianta na nasledujúcu permutáciu, stačí miesto rastúceho konca uvažovať klesajúci)
- Delenie polynómov (reprezentáciu sme si mohli zvoliť).
Úloha s mobilom, každý mobil je buď jednoduchý - má iba záves a závažie alebo má záves, kĺb, dve ramená a na nich zavesené ďalšie mobily. Úlohou bolo vymyslieť vhodnú reprezentáciu mobilu v Haskelli a zistiť, či:
- daný mobil je vyvážený, tzn. v každom kĺbe platí momentová veta (váha ľavého podmobilu * dĺžka ľavého ramena = váha pravého podmobilu * dĺžka pravého ramena), uvažujeme iba váhu závaží,
- daný mobil je bezpečný, tzn. neexistuje také otočenie v niektorých kĺboch, že by do seba nejaké časti mobilu narazili.