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