简单的haskell程序不能用GHCi编译

时间:2012-11-20 12:06:59

标签: haskell ghci

考虑下面的内容是我的代码

 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

有任何线索吗?

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:5)

修复缩进:

import Data.Char
import Data.List

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