Ko/$
$
는 중위 연산자이다. $
는 왼쪽에 있는 함수를 오른쪽에 있는 값에 적용한다. f x
와 f $ x
는 차이가 없어 보이지만 $
는 우선 순위가 제일 낮고 우결합이라서 괄호를 생략할 수 있게 해준다. 예를 들어 아래 식에서 좌변과 같이 $
를 쓰면 우변과 같은 의미가 된다.
f $ g $ h x = f (g (h x))
위 식의 좌변에서 $
를 생략하면 뜻이 완전히 달라진다.
f g h x = ((f g) h) x
아래와 같이 고차 함수를 사용할 때도 $
를 활용할 수 있다.
map ($ 0) xs
zipWith ($) fs xs
정의[edit]
$
는 Prelude에 아래와 같이 정의되어 있다.
infixr 0 $
($) :: (a -> b) -> a -> b
f $ x = f x