콘텐츠로 건너뛰기
Home » Applicative

Applicative

(Haskell) Applicative Functor

Applicative Functor

Applicative Functor는 하스켈의 Control.Applicative 모듈에서 정의하고 있다.
하스켈의 함수는 알다시피 모두 자동으로 커리된다. a -> b -> c 타입의 함수 f가 있다고 할 때, 인자 하나를 전달한 f x의 타입은 b -> c인 함수가 된다. 함수 역시 Functor의 일종이며, 따라서 함수에 함수를 맵핑하는 것 (이는 함수 합성과 동일하다)도 가능했다. 다만 이 때의 사상되는 함수들은 모두 단인자 함수임에 주목하자.

f x = x + 1
g x = x * 2
fmap g f = g . f = (\x -> g (f x))

그런데 *처럼 인자 두 개를 받는 함수를 다른 함수에 적용하면 어떻게 될까? 예를 들어 (*) 함수를 Just 3 같은 곳에 맵핑하면 무슨 일이 벌어질까? 더 보기 »(Haskell) Applicative Functor