[英]Monads = Functors + Idempotency (of type)?
不,單子顯然不是冪等的:盡管有一個自然轉換的要求
mu_x : T(T(x)) -> T(x)
以這種方式選擇的兩個對象一般不會相等,即,
T(T(x)) = T(x)
通常不成立,甚至高達同構。
即使在 Haskell Monad
的限制范圍內,也很容易看到這一點: Maybe (Maybe ())
和Maybe ()
顯然是具有不同語義對象數量的不等類型; 忽略底部:
Nothing, Just () -- Maybe ()
Nothing, Just Nothing, Just (Just ()) -- Maybe (Maybe ())
或底部:
_|_, Nothing, Just _|_, Just () -- Maybe ()
_|_, Nothing, Just _|_, Just Nothing, Just (Just _|_), Just (Just ()) -- Maybe (Maybe ())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.