Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Haskell在解析注释?_Haskell_Syntax Error - Fatal编程技术网

为什么Haskell在解析注释?

为什么Haskell在解析注释?,haskell,syntax-error,Haskell,Syntax Error,我有一个非常简单的代码(在GHC 8.10.4/stack ghci17.12中): 问题是,无论我用^替换|,还是使用多行注释,我都会得到以下错误: T.hs:9:7: error: parse error on input ‘-- | Test’ | 9 | -- | Test | ^^^^^^^^^ 解析器是否使我的注释与其他注释不匹配?或者是否有一种看起来像注释的特殊语法?注释以--开头。以-|开头的注释是文档工具haddock的一种特殊注释,只允许在某

我有一个非常简单的代码(在GHC 8.10.4/
stack ghci
17.12中):

问题是,无论我用
^
替换
|
,还是使用多行注释,我都会得到以下错误:

T.hs:9:7: error: parse error on input ‘-- | Test’
  |
9 |       -- | Test
  |       ^^^^^^^^^

解析器是否使我的注释与其他注释不匹配?或者是否有一种看起来像注释的特殊语法?

注释以
--
开头。以
-|
开头的注释是文档工具haddock的一种特殊注释,只允许在某些地方使用(您放置注释的位置不是其中之一)。GHC实际上接受您的代码。您构建程序的方式可能涉及调用haddock,它拒绝放错位置的
--
注释

解决方案:使用
--
作为普通注释,而不是用于haddock的
--

    -- Test

我不能复制这个,用给定的文件,它被处理,所以没有编译器错误。我不是Haskell专家,但是你真的被允许在这样的表达式中间放置一个注释吗?你说你用<代码> ^ < /代码>替换<代码> <代码>。但是错误消息显示一个
@RobertHarvey它在没有
@chepner的情况下工作错误消息与代码匹配,当然,当我更改它时,错误消息也会更改。或者,如果必须有一条垂直线,请使用
--│(U+2502方框图灯垂直)。
    -- Test