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이라 부른다.간단한 모나드 설명과 예제
자바스크립트 관련 코드는 해당 스터디쪽 문서에 올릴 예정. 역시 모나드를 이해할때는 Haskell이 가장 효율적이므로 Haskell로 된 코드를 사용해보자. 자바스크립트로도 설명할 수 있지만(모나드 섹션 하단의 링크 참조) 이해하기에 코드가 깔끔하진 않다. 하스켈의 간단한 입출력 예제다.
https://black7375.tistory.com/69
