在ghci的: λ> :t (pure 1)
(pure 1) :: (Applicative f, Num a) => f a
λ> show (pure 1)
<interactive>:1:1:
No instance for (Show (f0 a0))
arising from a use of `show'
Possible fix: add a
望着文檔的Control.Applicative,我注意到,他們對某些單子(例如IO,Maybe和特別ST)實例聲明,但也有MTL單子如State和RWS沒有實例。相反,它看起來像定義了一個通用的WrappedMonad類型,我猜測它將涵蓋所有其他情況。 因此,這裏是我的問題: 爲何沒有對MTL單子Applicative實例?目前爲止,我自己能找到的最佳答案是three year old post