“ - 文件:”在Haskell中

时间:2014-08-25 08:26:07

标签: haskell ghci

我一直在读我的教科书,这里有些困扰我的事情: 其中一个页面显示了这样的代码:

-- file: ch02/add.hs
add a b = a + b

然后将其加载到ghci中。但是,当我输入第一行ghci时,它什么也没做,然后第二行触发了错误。

我想这两行意味着我应该创建一个文件并将其放入,然后加载它。但ghci告诉我它无法识别“ - ”,尽管第二行表现良好。所以我很困惑:不应该“ - ”意思是“//”?我误解了教科书吗?

谢谢。

1 个答案:

答案 0 :(得分:12)

首先,加载文件与在ghci中键入行相同。 ghci的作用类似于某个do动作的IO块(因此您需要编写let add a b = a + b),而Haskell文件只包含顶级声明。

FWIW,你可以简单地省略第一行。正如你所注意到的那,这只是一个评论。您文件中的问题是您已写

-- file: ch02/add.hs

— file: ch02/add.hs

(你可能正在使用一个文本编辑器,它将两个连字符合并到一个em-dash)。并且em-dash不被认为是Haskell中的特殊符号。实际上,它可以像任何其他中缀一样使用:

(—) :: Int -> Int -> Int
a — b = a - b

使用正确的纯文本编辑器或IDE,对于建议see here,您不应该遇到此类问题。