么
例項化 Monoid
的型別包括具有 Monoid
返回值的列表,數字和函式等。要例項化 Monoid
,型別必須支援組合其值的關聯二元運算(mappend
或 (<>)
),並且具有特殊的零值(mempty
),以便將值與其組合不會更改該值:
mempty <> x == x
x <> mempty == x
x <> (y <> z) == (x <> y) <> z
直觀地說,Monoid
型別是類似列表的,因為它們支援將值附加在一起。或者,Monoid
型別可以被認為是我們關心訂單而不是分組的值序列。例如,二叉樹是 Monoid
,但是使用 Monoid
操作我們無法看到它的分支結構,只能遍歷其值(參見 Foldable
和 Traversable
)。
必需的方法
mempty::Monoid m => m
mappend::Monoid m => m -> m -> m
直接超級類
沒有