Я пытаюсь выяснить, каков тип функциональной композиции ReaderT
и const
и хочу разобраться сам.
(.) ReaderT const :: ???
Во-первых, посмотрите на сигнатуру типа ReaderT
и (.)
:
ReaderT :: (r -> m a) -> ReaderT r m a
(.) :: (b -> c) -> (a -> b) -> a -> c
затем я сделал следующую замену:
(.) ReaderT
шаг за шагом:
((r -> m a) -> ReaderT r m a) -> (a1 -> (r -> m a)) -> a1 -> ReaderT r m a
становится:
(a1 -> r -> m a) -> a1 -> ReaderT r m a
следующая замена на const
:
const :: (a -> ( b -> a ))
(a1 -> ( r -> m a)) -> a1 -> ReaderT r m a
Мой мозг остановился на этом месте. Как продолжить замену типа?
(r -> m a) ~ b
иReaderT r m a ~ c
в типе(.)
применительно кReaderT
. - person arrowd   schedule 26.09.2017(r -> m a)
~ b и где переменная типаa
функцииconst
? - person softshipper   schedule 26.09.2017