这是我在 ghci REPL 中尝试过的(堆栈 ghci 8.10.7)
\n\xce\xbb> :{\n| import Data.List\n| import Data.Ratio\n| :}\nerror: expecting a single import declaration\nRun Code Online (Sandbox Code Playgroud)\n为什么我一次不能进行多个导入?顺便说一句,可以这样输入完整的模块定义吗,即
\n\xce\xbb> :{\n | module STAL where\n | import Data.List\n | import Data.Ratio\n | import Data.Decimal\n | :}\nRun Code Online (Sandbox Code Playgroud)\n我的动机是我正在使用 Emacs org-mode 的 babel for Haskell,它仅适用于多行代码,当它被包围时:{ :}.
目前不支持这种多次导入。但是,有一个封闭的票证要求相同的https://gitlab.haskell.org/ghc/ghc/-/issues/20473,以及一个实现您所要求的内容的合并补丁:https://gitlab.haskell .org/ghc/ghc/-/commit/7850142c09090a2eef1e1b0281acd641e843356a
我使用 GHC 9.2.1 进行了测试,它的响应方式与您报告的相同,因此显然该补丁没有进入该版本。但我想下一个版本将会支持像这样的多次导入。