[英]If “List” is a monoid, what is its “set”?
不是說“List is a Monoid”,而是說“對於所有類型a,類型[a]
是Monoid”更准確。 因此,對於任何特定類型a
,您的L將是L = {set of all lists of as}
。 根據這個定義,L當然不能包含它自己。
對於任何類型的t
你可以有
L = all elements of the type [t]
然后L是使用++
的瑣碎方式的幺半群。 事實上,我們在Haskell中將其形式化
class Monoid m where
mempty :: m
mappend :: m -> m -> m
這是一個類型的“類”,具有形成幺半群的必要操作,所以
instance Monoid [a] where
mempty = []
mappend a b = a ++ b
事實上,這被稱為“免費幺半群”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.