Несколько слов хочу сказать пишущим туториалы про монады в Хаскелле.
В туториале хотелось бы видеть не только теоретическое, но и практическое их использование. Как только вы упоминаете в тексте слово "Haskell" (вы же не собираетесь описывать монады только терминами теории категорий?), сразу нужно настраивать читателя на то, что знание монад имеет практический смысл. Причем имеется в виду не только очередное пояснение определений instance Monad, Functor и их (>>=), return, fmap на кокрентных контейнерах, а примеры реально рабочего кода, который вычисляет что-либо при помощи этих самых определений. Нужно понимать, что программисту нужны некоторые знания для их применения на практике и активного комбинирования получаемых навыков, а не просто для того чтобы понимать внеземные абстракции (надо сказать, не самые простые, для понимания).
Я бы не понял по одному только описанию определений такие монады как State, Writer, Reader, Cont. Хотя, кто знает, может я их и сейчас не понимаю? ... Но даже если и так, то у меня всё равно в голове есть примеры кода, основываясь на которых, я могу использовать их.
Пост этот не является руководством к действию: вы сами лучше меня знаете, как и что. Просто, личное мнение. Написать туториал - это не простая работа, но лучше потратьте больше времени для наработки материала. Хочется прочитать, что вы напишете.
Ссылки: