1

考虑以下是我的代码

 import Data.Char
 import Data.List

-- square
square :: Int -> Int
square n = n * n

虽然这个方形函数看起来整洁清晰,但当我运行它时

ghci ./square.hs

它返回

[1 of 1] Compiling Main             ( ./LabSheet1-solns.hs, interpreted )

./LabSheet1-solns.hs:5:1:
    parse error on input `square'
Failed, modules loaded: none.

我的解释器应该有问题。

我在 OS X 10.8.1 上运行

$ ghci --version
The Glorious Glasgow Haskell Compilation System, version 7.4.2

有什么线索吗?

4

2 回答 2

10

您的import语句缩进一个空格。这基本上将“一个空格”设置为文件的基本缩进级别。由于您的定义square没有缩进一个空格,因此您会收到语法错误。

要解决此问题,请将所有行缩进一个空格,或者最好不要缩进import语句。

于 2012-11-20T12:10:56.483 回答
5

修复缩进:

import Data.Char
import Data.List

-- square
square :: Int -> Int
square n = n * n
于 2012-11-20T12:10:24.023 回答