Haskell代码在leksah而不是ghc上编译



正如问题所述,我有一些在leksah中编译但不使用ghc --make filename.hs编译

代码:
module Main (
    main
) where
pair a b = (Pair (a, b))
newtype Pair a b = Pair (a,b)  deriving (Eq,Show)
instance (Num a,Num b) => Num (Pair a b) where
   Pair (a,b) + Pair (c,d) = Pair (a+c,b+d)
   Pair (a,b) * Pair (c,d) = Pair (a*c,b*d)
   Pair (a,b) - Pair (c,d) = Pair (a-c,b-d)
   abs    (Pair (a,b)) = Pair (abs a,    abs b) 
   signum (Pair (a,b)) = Pair (signum a, signum b) 
   fromInteger i = Pair (fromInteger i, fromInteger i)
main = do   
            a <- return (pair 1 3)   
            print a
            print "haha"  
            print 3.2  
            print [3,4,3]  

我是否需要调用一个选项来使它与ghc --make一起运行?

免责声明:我没有将这对配对为newtype。

编辑:

使用ghc --make Bignumber.hs (bignnumber。(这是文件名),输出是

[1 of 1] Compiling Main             ( BigNumber.hs, BigNumber.o )
BigNumber.hs:20:13: parse error on input `print'

检查你的缩进:也许你是混合制表符和空格的方式,ghc解释不同于leksah?我没有看到print解析错误的其他解释。

最新更新