- monad 被定义为类别 C 上的 endofunctor。假设 C 具有类型 int 和 bool 以及其他构造类型作为对象。现在让我们考虑在这个类别上定义的列表单子。
根据它的定义 list then 是一个内函子,它映射(这可以解释为一个函数吗?)一个 int 类型到 List[int] 和 bool 到 List[bool] 和映射(又是一个函数?)一个态射 int - > bool to List[int] -> List[bool]
所以,到目前为止,这是有道理的。但是让我深感困惑的是需要伴随它的自然变换的附加定义:Unit...将 int 转换为 List[int] (List 函子的定义不是已经暗示了这一点吗?这是我遇到的一个主要困惑
湾。List 函子是否总是必须被理解为从 int 到 List[int] 而不是从 int 到 List[bool] 的映射?
C。单位自然转换 int 到 List[int] 是否不同于将 List 定义为函子所暗示的从 int 到 List[int] 的映射?我想这只是对我之前问题的重新陈述。