Haskell Bind

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

Recommendations