0

次のカスタム newtype を持つ:

newtype QueryM a = QueryM (Connection -> IO a) 

インスタンスも持つようAlternativeに制約しながら、インスタンスを宣言するにはどうすればよいですか? それともできますか?aAlternative

私は次のようなことを意味します:

instance (Alternative a) => Alternative (QueryM a) where
4

1 に答える 1

4

に引数を追加すると、ここで問題なくコンパイルされますa

import Control.Applicative

newtype QueryM a b = QueryM (Connection -> IO (a b))

type Connection = ()

instance Functor (QueryM a)
instance Applicative (QueryM a)

instance (Alternative a) => Alternative (QueryM a) where
于 2012-11-29T04:54:00.353 に答える