2014-11-01 3 views
1

Windows 7에서 7.8.3 버전의 ghci 컴파일러를 사용하고 있습니다. '->'에서 구문 분석 오류가 표시되는 중 오류 메시지가 나타납니다. 나는 haskell에서 람다 식에 대해 다음과 같은 코드를 가지고있다.haskell이 '->'입력에서 구문 분석 오류가 발생했습니다.

추가 = \ XY -> X +

+0

'= \'은 연산자입니다. 'add'라는 이름에 람다 식을 할당하기를 원하기 때문에, 공간이 필요합니다 :'= \'. –

답변

5

ghci에 대화 형으로 함수를 정의, 당신은 사용하여 바인드 할 필요가 Y let이 같은 :

let add = \x y -> x + y 
+1

전역 적으로 언급 된 기능이 아닌 경우. 그래도 그렇다면 suged 형식의'add x y = x + y' 또는 단지'add = (+)'로 작성해야합니다. – Carcigenicate

+0

또한'= \ '는 합법적 인 연산자 이름이기 때문에'='와'\'는 여기와 같이 공백으로 구분해야합니다. –

2

난 그냥 쓴 :

add = \x y -> x + y 

main = do 
    print $ add 1 2 

그리고 컴파일되어 출력됩니다.

요 UR 의도는 내가로 쓰는 것,하지만 unsugared 코드를 연습하는 것입니다

add x y = x + y 

또는 "점없는"형태

add = (+) 

.

관련 문제