gpt4 book ai didi

Haskell:输入 `import' 时出现解析错误

转载 作者:行者123 更新时间:2023-12-02 14:27:14 24 4
gpt4 key购买 nike

我正在尝试重新创建 this Haskell code 的输出:

forM_ = flip mapM_
import Control.Monad.Cont

main = do
forM_ [1..3] $ \i -> do
print i

forM_ [7..9] $ \j -> do
print j

withBreak $ \break ->
forM_ [1..] $ \_ -> do
p "loop"
break ()

where
withBreak = (`runContT` return) . callCC
p = liftIO . putStrLn

预期输出如下:

$ runhaskell for.hs
1
2
3
7
8
9
loop

但我收到以下错误:

 Test4.hs:2:1: parse error on input `import'

对出了什么问题有什么想法吗?

最佳答案

Test4.hs:2:1: parse error on input `import'

错误指向文件的第二行。引用前两行:

forM_ = flip mapM_
import Control.Monad.Cont

问题是导入声明必须位于模块的开头、任何定义之前(导入之前唯一可以出现的是语言编译指示,例如用于启用 GHC 扩展的语言编译指示和模块声明) 。在您的情况下,文件的第一行是定义,因此第二行中错误的导入声明会导致解析错误。由于第一行实际上并不是您链接到的帖子中代码片段的一部分,因此您只需将其删除即可。

关于Haskell:输入 `import' 时出现解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40472079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com