2
D 함수가 unlambda에서 작동하는 방법에 대해 자세히 설명해야한다고 생각합니다. 지금은 Y 결합 자로 함수 (팩토리얼)를 만들려고 노력하고 있지만 항상 무한 루프가 발생합니다. 또는 통역사에 따라 세그 폴트. 나는 D가 내가 여기서 사용하기를 원하는 것이라고 확신한다. 나는 이것을 시도했다 :Unlambda d function
``d```sii``sii`.xi
그리고 그것은 같은 무한 루프를 가졌다. 아무도 내가 unlambda에서 D를 이해할 수 있다고 생각합니까?
... unlambda 표기에서
내 기능은
```s``s``s`ks``s`kki``s``s`ks`ki`ki``s``s`ks``s`kki``s``s`ks`ki`ki``s`k`s``s``s``s``si`k`ki`k``s``si`k`ki`kk`k`ki`k`s`sk``s`k`s``s`ksk``s``s`ksk`k``s``si`k``s``s``s``si`ki`k`ki`k`ki`s``s`ksk`k`k`kk
Y= ``s``s``s`ks``s`kki``s``s`ks`ki`ki``s``s`ks``s`kki``s``s`ks`ki`ki
Factorial = Y(\xy.0y1(My(x(Sy))))
0 = ``s``s``si`k`ki`k``s``si`k`ki`kk`k`ki (Returns K if it's 0 in church numerals, Returns KI if it's something else.)
M = ``s`ksk (Prefix multiplier of church numerals)
S = ``s``si`k``s``s``s``si`ki`k`ki`k`ki`s``s`ksk`k`k`kk (Decrements a church integer)
내가 먼저 왼쪽으로, 일반적으로 평가 된 경우, 작동 것이라고 확신 해요,하지만 난 확실하지 않다.
미리 감사드립니다.
마치 Markdown과 관련하여 특별히 고안된 언어입니다. – MPelletier