Haskell '上的语法错误;mod';哈斯克尔

Haskell '上的语法错误;mod';哈斯克尔,haskell,template-haskell,Haskell,Template Haskell,我正在学习haskell教程: 我正在ghci中测试函数,我了解了这一部分: hailstone :: Integer -> Integer hailstone n | n `mod` 2 == 0 = n `div` 2 | otherwise = 3*n + 1 我在一个.hs文件中有这个函数,我在同一个目录中启动ghci,然后转到:l hailstone.hs 输出是 Syntax error on 'mod' Perhaps you intended t

我正在学习haskell教程:

我正在ghci中测试函数,我了解了这一部分:

hailstone :: Integer -> Integer
hailstone n
  | n `mod` 2 == 0 = n `div` 2
  | otherwise      = 3*n + 1
我在一个.hs文件中有这个函数,我在同一个目录中启动ghci,然后转到:l hailstone.hs

输出是

Syntax error on 'mod'
    Perhaps you intended to use TemplateHaskell
    In the Template Haskell quotation 'mod'
Failed, modules loaded: none.

做了一些谷歌搜索,试图加载这个“templatehaskell”,结果却出现了一组不同的错误()

正如评论中正确建议的那样,问题是我使用撇号(
)而不是反勾号(
`
),背景勾号与我应该使用的单引号不同。

ideone.com对此很满意:通常当
mod
作为顶级表单编写时会出现这种情况。冰雹的定义是文件中唯一的东西吗?您是否有可能键入“'”('mod')而不是“`”('mod')?后者正确,前者不正确;反勾号与单引号不同。@user2407038以及。。。这太尴尬了…@David Nono,这是这个问题的答案。