- "programming by contract"
- "symbolic evaluation"
(b) je správně (zbytek příspěvku je blábol). V podstatě se jedná o jednoduché cvičení z úvodního kurzu do Agdy nebo Coqu, pro různé typy funktorů se dají podmínky symbolicky ověřit ("formálně verifikovat") poměrně snadno (i třeba flatMap apod., kde to je ale o chlup složitější). V případě Haskellu (ten původní nemá dostatečně silný typový systém, i když nějaká použitelná rozšíření už existují) se musí to ověření napsat v nějakém podobném funkcionálním jazyce, kde to ověřit jde, a pak ověřený kód podstrčit Haskellu.
BoneFlute se toho možná chytne a napíše si to ověření v rámci sebevzdělávání (a snad se pak s námi podělí o výsledek)