就简洁的摘要而言——对 Comonads 的这种描述似乎更胜一筹——将它们描述为“输入杂质的类型”。
什么是 codata 的等效简洁(单句)描述?
“余数据是由可能无限的值所占据的类型”
这与仅包含有限值的“数据”形成对比。例如,如果我们采用列表的“数据”定义,它被有限长度的列表所占据(如在 ML 中),但如果我们采用“codata”定义,它也被无限长度的列表所占据(如在 Haskell 中,例如x = 1 : x
)。
Comonads 和 codata 不一定相关(尽管由于 Kieburtz 的论文Comonads and codata in Haskell可能有些人会这么认为)。