在任意蒙纳德语境中,"一元结构"和"结构元素"究竟意味着什么?

Mai*_*r00 1 monads haskell algebra category-theory io-monad

通过Control.Monad的文档阅读我发现了mapM的这种描述:

将结构的每个元素映射到monadic动作,从左到右评估这些动作,并收集结果

我很感兴趣,"结构元素"对任意单子意味着什么?例如,State还是IOmonad?什么结构?我知道在描述中这个特定单词mapM语义中有什么功能和有趣的功能mapM.这种"结构"是否与"代数结构"的概念有某种联系?

结构是一个集合,在其上定义了一个或多个满足公理列表的有限运算.

如果是这样,那么这个结构(载波集)的元素是什么,就像我要求的那样IO monad?一般来说?

Seb*_*edl 8

"结构元素"对任意单子都没有任何意义,因为它没有引用monad.在mapM你指的是成员Traversable类型类和结构是指的是Traversable.A Traversable是可以映射的数据结构,例如列表或树."结构元素"是指列表的元素.