developer tip

입력`= '에서 Haskell 오류 구문 분석 오류

optionbox 2020. 7. 30. 10:20
반응형

입력`= '에서 Haskell 오류 구문 분석 오류


나는 Haskell을 처음 사용하고 시작한 후에 ghci시도했습니다.

f x = 2 * x

그리고 나는 얻었다 :

<interactive>:1:4: parse error on input `='

이해가 안 돼요

이상하게도 그것은 전에 잘 작동했습니다. 하스켈을 잘못 구성했다고 가정합니다. ghc6을 다시 설치해도 문제가 해결되지 않습니다.

자세한 내용은 Ubuntu 10.4를 사용하고 ghc6 버전은 6.12.1-12입니다.


GHCi 7.x 이하에서는이 let를 정의해야합니다.

Prelude> let f x = x * 2
Prelude> f 4
8

GHC 8.0.1부터 GHCi에서 최상위 레벨 바인딩이 지원 되므로 OP 코드는 변경없이 작동합니다.

GHCi, version 8.0.1.20161213: http://www.haskell.org/ghc/  :? for help
Prelude> f x = x * 2
Prelude> f 4
8

Haskell 소스 파일에 입력하면

f x = 2 * x

맞다.

ghci에 직접 입력 할 때는 let줄의 시작 부분에 입력해야합니다 .

let f x = 2 * x

ghci를 사용하는 가장 좋은 방법은 입력 한 모든 코드가 do-block 의미를 준수해야한다는 것입니다. 즉, 문법적으로 IO 모나드 내에서 프로그래밍하고 있다고 가정 할 수 있습니다 (이 용어가 새로운 용어 인 경우 걱정하지 마십시오!이 자습서를 읽는 것이 좋습니다 ).

답변은이 요점을 예로 들어 설명하며 IO 및 ghci의 특성에 대한보다 실질적인 통찰력을 제공 할 수 있습니다.


GHC 8.0.1부터는 더 이상 오류가 발생하지 않습니다.

참고 URL : https://stackoverflow.com/questions/6184940/haskell-error-parse-error-on-input

반응형