데이터 유형이 A
인 것으로 가정합니다. 예를 들어, A
은 Identity
이라고 가정 할 수 있습니다.동일한 도메인에서 신청자의 기능에 대한 적용 인스턴스
지금은 다른 일 A
에서 "변화"에 해당하는 새로운 데이터 유형 :
(B a)
의 사소한 실용적 인스턴스를 정의 할
data B a b = B (A a -> A b)
그 후 입력 및 <*>
이 충분히 간단한 공식화 < *> A.의 실용적 인스턴스
의 정의를 사용
,그러나 나는 (-> a)
이 Applicative Functor라는 사실을 사용하여 직접 작성하는 간단한 방법이 있어야한다고 생각합니다.
instance Functor (B a) where
fmap f (B xtrans) = B $ (fmap f) <$> xtrans
실용적 인스턴스를 정의하는 유사 간단한 방법이 있나요 : 내가 마음에 무엇을, 해당 펑터 인스턴스의 내 정의를 고려의 샘플로
?
질문에서 'B a b'가 '유형 B a = 작성 ((->) (A a)) A'와 동일하다고 말하는 것이 맞습니까? –
@ChristianConkle : 예. –