Я заметил, что слово "монада" кажется несколько несогласованным. Я пришел к выводу, что это связано с тем, что многие (если не большинство) из учебников монады написаны людьми, которые только начали рисовать монады сами (например: ядерные космические скафандры), и поэтому этот термин заканчивается вверх, получая вид перегруженного/поврежденного.
В частности, мне интересно, может ли термин "монада" применяться к отдельным значениям типов, например "Maybe", "List" или "IO", или если термин "монада" должен применяться только к самим типам.
Это тонкое различие, поэтому, возможно, аналогия может сделать его более понятным. В математике мы имеем кольца, поля, группы и т.д. Эти термины применяются ко всему набору значений наряду с операциями, которые могут выполняться на них, а не с отдельными элементами. Например, целые числа (вместе с операциями сложения, отрицания и умножения) образуют кольцо. Вы могли бы сказать: "Целое кольцо - это кольцо", но вы никогда не скажете "5 - это кольцо".
Итак, можете ли вы сказать: "Just 5
является монадой", или это было бы неправильно, если бы "5 - это кольцо"? Я не знаю теории категорий, но у меня создается впечатление, что на самом деле имеет смысл сказать: "Maybe
является монадой", а не "Just 5
является монадой".