Pointed型クラス
開発者はEdward Kmett
どういう型クラス #??
github
hackage
定義
code:hs
class Pointed p where
point :: a -> p a
The TypeclassopediaのときはFunctor型クラスを継承しているが今の実装ではしてない
以下の等式を満たすことが要請される
Pointed則とでも言うか
code:hs
fmap g . point = point . g
Functorを継承していない定義の場合、言うほど自明なのか?と思う
上の定義でのpが、Functorの定義時のfと一致していることを前提しないと、自然には成り立たない
PointedでないFunctorの例
The Typeclassopediaでは((,) e)が紹介されているが、
実装ではdefを使って定義している
参考
The Typeclassopedia
Why not Pointed? - HaskellWiki