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