0
Как я могу сделать вывод типа от Control.Monad.liftM not
до Control.Monad.liftM not id
?Вывод типа Haskell о монаде
(Control.Monad.liftM not) :: Monad m => m Bool -> m Bool
(Control.Monad.liftM not id) :: Bool -> Bool
Уловка, понимая, что во 2-м случае, 'M' идет инстанцирован к конкретному типу, а именно - к функции монады' ((->) x' Вывод протекает довольно просто. : аргумент 'liftM not' имеет тип' m Bool' и 'id :: a -> a', поэтому' a -> a ~ m Bool', из которого у вас есть 'm ~ ((->) a) , a ~ Bool'. – user2407038
Получил! Спасибо! – jim