@ailrunAilrun (UTC-5/-4) 재밌게도 force . thunk랑 return . thunk 모두 항등 사상이 못 되네요. 이건 값이 ‘~인 것‘이기 때문일까요? ~인 것을 갖고 무언가를 더 하기 위해서 return과 to가 있는 것인가 싶어졌어요.
@domatdo도막도 그 둘이 사실 수반 함자(Adjoint Functor)의 구현입니다. 강한 형 CBPV를 사용하면
thunk(-)
는 Up -
의 생성자고 return
은 Down -
의 생성자인데요, 이 두 함자 Up
과 Down
이 수반 함자 쌍을 이룹니다.
If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/01963f51-7aed-781d-917b-9099ab0e5e75 on your instance and reply to it.
@domatdo도막도 다른 말로는
Up (Down a)
는 모나드(Monad)고 Down (Up a)
는 코모나드(Comonad)가 되는데요, 이를 이용해 CBPV는 Effect 또한 자연스럽게 다룰 수 있습니다. 글에서 다루기에는 소개할 내용이 많아서 생략했지만요.