반응형
입력`= '에서 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
반응형
'developer tip' 카테고리의 다른 글
Django 사이트에서 HTML을 PDF로 렌더링 (0) | 2020.07.30 |
---|---|
Mac OS X에서 Apache 2 사이트 파일 / 폴더에 대한 올바른 소유자 / 그룹 / 권한은 무엇입니까? (0) | 2020.07.30 |
실제 거래 API (0) | 2020.07.29 |
javax.persistence.Query.getResultList ()가 널을 리턴 할 수 있습니까? (0) | 2020.07.29 |
CSS의 글꼴 크기-% 또는 em? (0) | 2020.07.29 |