Monad์๋ ์ด๋ค ์ข ๋ฅ๊ฐ ์๋๊ฐ?
Monad๋
- ๊ฐ๋ ์ ๋ํ ์๋ฏธ๋ก ์ ํ์ฅ์ ๋์๋๋ ์ ๋ค๋ฆญ ํ์ .
lift: (T->U) -> (M<T> -> M<U>)- ์์์ ์ผ๋ณ์ ํจ์๋ฅผ ๋ชจ๋๋ ํ์ ๊ฐ์ ํจ์๋ก ํ์ฅํด์ฃผ๋ ํจ์
unit: T -> M<T>- ์์์ ํ์ ์ ์๋ฏธ๋ฅผ ๋ณด์กดํ์ฑ ๋ชจ๋๋ ํ์ ์ผ๋ก ํ์ฅํด์ฃผ๋ ํจ์
flat: M<M<T>> -> M<T>- ๋ชจ๋๋ ํ์ ์ ์๋ฏธ๋ฅผ ๋ณด์กดํ์ฑ ์ฐจ์์ ๋ฎ์ถฐ์ฃผ๋ ํจ์
์ข ๋ฅ
OptionalArrayFutureReaderWriterStateIO
Optional, Array๋ ์๋ตํ๋ค.