λ-exp를 SKI로 바꾸는 방법을 하스켈에도 적용할 수 있음
\x -> (f x) (g x)
===> f <*> g
-- f, g 를 먼저 point free로 바꿔야함
\x -> (f x) g
===> flip f g
\x -> f (g x)
===> f . g
\x -> x
===> id
\x -> f x
===> f
\x -> t
===> const t
\x -> \y -> e
-- 안쪽 abstraction (y) 부터 point free로 바꾸고 나서 바깥쪽 abstraction (x) 처리
위에 규칙만 가지고도 모든 λ-exp를 point free로 바꿀수 있음
$, <$>, >>= 등등 다른 함수들을 써서 축약하는건 별개로 따져줘야됨
- dc official App
댓글 0