Но так не надо писать, конечно. Однако понимание того, как Applicative работает для тех же функций - полезная штука. Так что подобные экзерсисы небесполезны :)
как там логировать в хаскеле? ну допустим я нахожусь глубоко в коде парсера, без io. допустим готов пойти на то чтобы протянуть io но мб есть что-то лучше
конечно такой лог может быстро стать огромным, можно сразу IO подключать (или какие специальные монады для логинга, я пока видел только MonadLogger, который в персистенте юзается)
ну да кул по идее если расширять задачу то такому монад-логеру остаётся только ансейфно писать в файл и при этом учитывать случай многопоточности и при этом не сильно лочить тред ожиданиями остальных тредов с логом н временных-файлов под н тредов