진짜 죄송한데 한 번만 읽어주세요.
하스켈을 논리형 언어로 확장시켜볼까 하는데,
제 논리에 틀린 점 있는지 확인해주시면 감사하겠습니다.
종류 *의 타입 a에 대하여 타입 Set a이 값으로 a의 값을 원소로 가지는 집합일 때,
함자 Set : * → *은 이론상 모나드잖아요.
자연변환 mu : Set (Set a) => Set a를 unions로 둘 수 있고,
자연변환 eta : a => Set a를 singleton으로 둘 수 있으니까요.
실제로 컴퓨터에서 구현할 때는 unions의 제약 때문에 안 되지만요.
그러면 함자 Pred : * → *를 Pred a :== a → 2로 두면 Pred도 모나드인가요?
여기서 2는 Bool이에요.
읽어주셔서 감사합니다.


- dc official App