Y - 연결자
내가 Y에 대해 배우려고 노력 했어요 - 콤비 을 (즉에 대한 설명뿐만 아니라 아름다운 것)이 wiki에서 예를 건너 왔어요. 주제에 대한 깊이있는 설명은 하스켈이나 파이썬에서 크게 감사 할 것입니다. Pleaaase! Y-Combinator를 사용하는 방법; 왜이 무한 재귀는 9를 반환합니까?
코드
fix :: (a -> a) -> a
fix f = f (fix f)
문제
호출되는 함수 fix
반환 fix
이 (\x -> 9)
에 적용되고 난 아무 단서 이유가 없다 9
; 스택을 따라 가면 f(f ... (fix f) ...)
을 시각화합니다. 모든
>> fix (\x -> 9)
>> 9