은 우리가 <$
함수로 정의했습니다 :
class Functor f where
fmap :: (a -> b) -> f a -> f b
(<$) :: a -> f b -> f a
(<$) = fmap . const
const
기능은 정의가 있습니다
const :: a -> b -> a
const x _ = x
나는 <$
기능에 해당하는 것을 알고 :
\x -> fmap (const x)
을
fmap . const
은 위의 람다 식과 어떻게 같습니까? ? 기능 구성에 대한 나의 이해는 const
의 출력 유형이 fmap
의 입력 유형과 일치해야하지만, 입력 유형 fmap
은 (a -> b)
이 아니고 이 아니며 const
기능이 출력하는 것입니다.
당신의 질문은 'Data.Map'에 대해'<$'의 정의를 확인하게 만들었습니다. 그것은 다음 릴리스에서 상당히 빠를 것입니다. 감사! – dfeuer