이 글은 책 The Dao of Functional Programming의 2장 1절 Composition을 정리한 것이다.
에서 로 가는 애로우 와, 에서 로 가는 애로우 가 있을 때, 에서 로 바로 가는 애로우를 합성(composition)이라고 한다.
두 애로우가 있을 때 어느 한 쪽의 도착점과 다른 한 쪽의 출발점이 같으면 두 애로우를 합성해서 세 번째 애로우를 만들 수 있다.
수식으로는 아래처럼 적는다.
위 수식을 아래처럼 읽는다.
" is equal to after ."
하스켈에서는 아래처럼 적는다.
h = g . f
만약 를 로 쪼갤 수 있다면 위 수식을 아래 수식으로 바꿔 적을 수 있다.
합성은 아래 수식처럼 어느 것을 먼저 해도 결과가 같다. 이러한 성질을 결합성(associativity)이라고 한다.
아래와 같이 두 애로우가 있을 때
이 두 애로우를 합성한 는 다음과 같은 애로우의 연결을 유도한다.