hint :
(.) head
= \f -> (.) head f
= \f -> head . f
= \f a -> head (f a)
once you do this, the rest follows as follows:
head :: [c] -> cf :: a -> b- the way we do head . f, we must haveb = [c]
now the full expression has
\ f a -> head (f a)
:: (a -> [c]) -> a -> c
^ type of f ^ the a ^ result of head (f a)
source
share