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

pig*_*ack 1 haskell ghci

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

 import Data.Char
 import Data.List

-- square
square :: Int -> Int
square n = n * n
Run Code Online (Sandbox Code Playgroud)

虽然这个方形功能看起来很整洁,但是当我运行它时

ghci ./square.hs
Run Code Online (Sandbox Code Playgroud)

它回来了

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

./LabSheet1-solns.hs:5:1:
    parse error on input `square'
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)

我的翻译可能有问题.

我在OS X 10.8.1上运行

$ ghci --version
The Glorious Glasgow Haskell Compilation System, version 7.4.2
Run Code Online (Sandbox Code Playgroud)

任何线索?

sep*_*p2k 10

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

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


app*_*tor 5

修复你的缩进:

import Data.Char
import Data.List

-- square
square :: Int -> Int
square n = n * n
Run Code Online (Sandbox Code Playgroud)