Skip to content

[additional] Functor 의 제 1법칙만 성립해도 Functor 가 된다?! #18

@leejaeseung

Description

@leejaeseung

연관 챕터

#17

조사 내용

p.170 에 Functor 가 되기 위한 2 가지 조건이 나옵니다.

  1. 부수효과가 없어야 한다.
  2. 합성이 가능해야 한다.

이는 다른 책에서 아래와 같이 설명합니다.

  1. 부수효과가 없어야 한다.
    fmap(identity()) == identity() 즉, fmap 에 identity 를 적용한 것과 identity 가 같다.
  2. 합성이 가능해야 한다.
    fmap(f * g) == fmap(f) * fmap(g) 즉, 개별적으로 합성한 것과 합성 후 fmap 한게 동일하다.

여러 책들에서 위 두 가지 조건을 모두 만족하는 fmap 은 Functor 라고 정의할 수 있다고 합니다.
하지만 Functor 의 제 1 법칙을 만족한다면 제 2법칙은 항상 만족함을 증명한다는 글이 있어 정리해 봅니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    additional책에 나온 외에 추가적인 내용

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions