5
根據定義或一個二元組,二元運算符必須是關聯的,例如, A op (B op C) == (A op B) op C
。Haskell - 實現Monoid如果運算符沒有關聯會發生什麼
的base mconcat
definition在Haskell是:
mconcat = foldr mappend mempty
因爲我知道mconcat
功能的實現細節,就什麼不好,從定義和使用僞造的類羣,其中功能不關聯發生的呢?例如定義減法或除法的實例。
這可能有用,或者我錯過了這一點?
我認爲這比崩潰更糟糕。但是我想如果有人希望堅持「a-(b-c)==(a-b)-c」應該成立,那麼就沒有辦法... – 2014-11-22 16:45:35