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이라 부른다.