범주 형 용어로 적용되는 펑터 설명-모노 이드 펑터


40

Applicative카테고리 이론의 관점 에서 이해하고 싶습니다 .

문서 에 대한이 Applicative가 있다고 말한다 강한 느슨한의 monoidal 펑터 .

첫째, 단일체 펑터 에 관한 Wikipedia 페이지는 단일체 펑터 가 느슨 하거나 강력 하다고 말합니다 . 그래서 소스 중 하나가 잘못되었거나 용어를 다르게 사용하는 것 같습니다. 아무도 그것을 설명 할 수 있습니까?

둘째, Applicative단일체 펑터 인 단일체 범주는 무엇 입니까? 나는 functors가 표준 Haskell 범주 (객체 = 유형, 형태 = 함수)의 end-functors라고 가정하지만이 범주의 단일체 구조가 무엇인지 전혀 모릅니다.

도와 주셔서 감사합니다.

답변:


35

실제로 "힘"이라는 단어는 두 가지 용도로 사용됩니다.

  • 강한 endofunctor 위에 monoidal 카테고리 ( C , ⊗ , I ) 천연 변환 붙어 하나 σ : ⊗ F ( B ) → F ( ⊗ B ) 에 대하여 약간의 간섭 조건을 만족 내가 다룰 어 소시 에이터. 이 상태는 때때로 " F 는 힘이있다"라고 발음된다 .F:C→C(C,⊗,I)σ:A⊗F(B)→F(A⊗B)F

  • F:C→D(C,⊗,I)(D,⊕,J)ϕ:F(A)⊕F(B)→F(A⊗B)i:J→F(I), 어 소시 에이터에 대한 일관성 조건을 다시 만족시킨다.

  • F:C→DϕiF(A⊗B)≃F(A)⊕F(B)ϕ

하스켈 프로그램의 의미에서 적용되는 펑 터는 강도 가있는 완하제 일체 종단 내수 정기이며, 문제의 단일체 구조는 데카르트 제품이다. 이것이 바로 역설적 인 용어 인 "강력한 일 축성 functor"를 얻는 이유입니다.

Fmap:(A⇒B)→(F(A)⇒F(B))

마지막으로, Haskell 스타일의 적용 함수 기의 유형 이론에 관심이 있다면 블로그에 대한 글을 올렸습니다.


1
Functorfmapϕipureipure' = \v -> fmap (\() -> v) (i ())i :: (Applicative f) => () -> f ()

1
이 답변에 오타가 생겼습니다. 이제 수정되었습니다. 그리고 네, 모든 사례 Functor는 강력합니다 (wrt product).
— Neel Krishnaswami

Monad의 위치를 ​​정교하게 설명해 주시겠습니까? 내가 올바르게 이해한다면 그것은 monoidal endofunctor이기도합니다.
— egdmitry 2016 년

Hask

나는 단어 사용을 제안 할 수 있습니다 strengthy "강력한"로 표기 피하기 충돌로를? 그것은 Wycliffe의 성경에서 처음 사용 된 "강한"의 스코틀랜드 (특히 여기에서 발견 된) 방언 변형입니다.
— Fosco

3

모나드에 의해 유도되는 응용을 이해하기 위해 다음 구성을 지적하고 싶습니다.

FAnat(Hom(A,B),FB)

a↦(g↦F(g)(a))
FA→BA→FB.
FAFA
FA→FBA→FFB.
FFBFB
FBA→FA→FB,
LiftM2 id
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.