연산을 정의하고, 추상화 하기 위해 쓰이는 것
모나드를 이용하면 Side Effect가 없는 함수, 즉 순수함수를 만들 수 있다
Eugenio Moggi라는 Computer Scientist가category theory에서 모나드로 연산을 정의하고 추상화 할 수 있다는 걸 발견했다
compose - chaining 되는 것
pure - 연산 m에 대한 id 함수
- 모나드의 겉뜻: 어떤 타입
M에 대해 두 함수,pure과compose가 존재할 때,M은 모나드이다.
- 모나드의 속뜻: 어떤 것이 모나드임이 시사하는 바는 그것이 합성될 수 있는 연산이라는 점이다.
- 모나드: 모나드란, 합성할 수 있는 연산이다.
Notion
3분 모나드
주위에 함수형 프로그래머가 있으시다면, 하다못해 함수형 프로그래밍 커뮤니티 근처라도 가보셨다면, 한 번쯤은 꼭 들어 보셨을 법한 단어가 있습니다. 모나드(monad) 요. 함수형 프로그래머들은 모나드를 매우 좋아합니다. 아니, 사랑합니다. 그들 중 누군가는 지금 모나드가 그려진 내복을 입고 모나드를 사용하며 프로그래밍을 하고 있을지도 모릅니다. 그런데 도대체 왜 그들은 모나드를 그리도 좋아하는 걸까요?
https://overcurried.com/3%EB%B6%84%20%EB%AA%A8%EB%82%98%EB%93%9C/

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

Seonglae Cho