Why
외부상태의 타입을
State
, 함수 f
와 g
가 있다면 다음처럼 나타낼 수 있다.(
a
와 b
는 또다른 결과값)그런데, 함수를 합성(
g(f(x))
)해야 할 일이 생긴다면??f
의 출력과 g
의 입력이 맞지 않는다.이 해결방안이 바로 바인드 연산자(
>>=
)Definition
바인드(bind) 연산자 >>=
M<a>
타입의 생성자가 있을 때.
a
타입의 값을 받고,M<b>
타입을 반환하는 함수를 받아
M<b>
타입의 값을 반환한다.
서로 다른 타입인
a
와 b
를 결합할 수 있게 만들어 주는 것Usage
Why를 해결하는 합성함수
합성함수를 다른 관점에서 살펴보면
State
값이 f
와 g
함수를 '연속적'으로 거친 것이라 생각할수도 있는데 Chaining이라 부른다.