Читая документацию Control.Monad я нашел такое описание mapM:Что означает «монадическая структура» и «элемент структуры» именно в контексте произвольной монады?
сопоставьте каждый элемент структуры монадических действий, оценить эти действия слева направо, и собирать результаты
Мне интересно, что означает «элемент структуры» для произвольной монады? Например, State
или IO
монада? Какая структура? Я знаю, что mapM
функция делает и интересует больше в семантика данного слова в описании mapM
. Связана ли эта «структура» с понятием «алгебраическая структура»?
Структура представляет собой набор с одной или несколькими финитными операциями, определенными на нем, которые удовлетворяют списку аксиом.
Если да, то каковы элементы этой структуры (набор носителей), как я просил, например. IO монада? В целом?