我一直在考虑如何为以下类型实现等效的unfold:这并不明显,因为列表的标准unfold返回一个值和下一个种子对于这种数据类型,这是没有意义的,因为在到达叶节点之前没有“值”。这样,返回新种子或以价值停止才是真正有意义的。我使用的定义是:
data Drive s a = Stop | Unit a | Branch s s deriving Sh
对于一个Maybe.Just monad,如果我们用返回null的函数映射它,它仍然会返回空值,但是我认为它应该是空的,否则它就失去了防止空值的能力。我是对的,还是还有另一个理由要这样做?// return Just(undefined), but I think it should return Nothing()我检查了所有Maybe.map的<