我正在使用funcool/cats
,使用以下代码附加monoid:
(m/mappend (maybe/just [1 2 3])
nil
(maybe/just [4 5 6])
(maybe/nothing)) ;;=> #<Just [1 2 3 4 5 6]>
将nil
视为可能/无任何理由的理由是什么?
注意:版本为[funcool/cats "1.2.1"]
答案 0 :(得分:1)
来自commit log,似乎是
只为(原文如此)避免意外的空指针异常
此处还记录了这些内容:http://funcool.github.io/cats/latest/#nil
鉴于nil既是值又是类型,我们已经扩展了 nil类型相当于Maybe monad的Nothing。