2017-12-14 24 views
0

은 S와 같은 식을 감안 Y, ZX의 YZ) (λx, YX) (λy, ZZ)범위는/하스켈

또는

S = (λx, Y, ZX의 YZ) (λx, YX (λy, ZZ))

I 그것을 추측하고있는 것은 두 번째 옵션입니다.

답변

2

이 질문은 기본적으로 답할 수 없습니다. 제안 된 추상 구문 트리를 사용하여 구체적인 구문을 쉽게 정의 할 수 있습니다. 그런 식의 강력한 개념이 있다고 생각하지 않습니다. 구문 정의에서 명시 적 텍스트를 보지 않고도이를 가정하고 싶을 것입니다. 당신이 읽고 있던 문서.

명시 적으로 Haskell 태그가 지정되었으므로이 특정 경우에는 단순히 구문 분석 오류 일 뿐이며 명확하게하기 위해 괄호를 추가해야합니다. 그러나 첫 번째 \x y z -> x y z 함수가 없으면 기본값은 \x y -> (x (\y z -> z))으로 구문 분석되고 나머지 옵션 인 (\x y -> x) (\y z -> z)을 얻으려면 괄호를 추가해야합니다. (\y z -> z 주변의 괄호는 선택 사항이 아닙니다.)