Ko/adjoint
newtype State s a = State { runState :: s -> (a, s) }
위와 같은 정의를 아래 두 펑터(functor)의 합성으로 볼 수 있다.
s ->
(, s)
이와 같이 합성이 가능한 두 펑터의 관계를 adjoint라고 한다.
adjoint 관계인 두 펑터를 합성하면 모나드를 만들 수 있다.
newtype State s a = State { runState :: s -> (a, s) }
위와 같은 정의를 아래 두 펑터(functor)의 합성으로 볼 수 있다.
s ->
(, s)
이와 같이 합성이 가능한 두 펑터의 관계를 adjoint라고 한다.
adjoint 관계인 두 펑터를 합성하면 모나드를 만들 수 있다.