我们目前在我们的项目中遇到了一些麻烦,因为我们发现在新的 GHC 版本中,像 Char 这样的旧模块默认是隐藏的,而新模块(如 Data.Char)是默认的。我现在正试图弄清楚 Data 使用哪个版本。, 控制。引入了 etc 模块,以及哪个 GHC 版本首先隐藏了 Char 等 Packages。
问问题
242 次
1 回答
11
分层模块是在古代引入的(它们已经存在于早期的 ghc-6.* 版本中,在旧版本中挖掘表明分层模块是在 ghc-5.* 时代,大约 2002/2003 年左右引入的),并且haskell98
模块在 ghc-7.2 中默认隐藏,因为有足够多的更改haskell98
与base
.
从 7.2.1 的发行说明:
1.5.12.13。哈斯克尔98
版本号 2.0.0.0(原为 1.1.0.1)
不再可以将 haskell98 包与基本包一起使用,因为它现在包含 Prelude 和 Numeric 模块。因此,haskell98 包现在默认隐藏。
您的项目的选项是使其依赖于haskell98而不是基于基础,或者更新您的导入以使用分层模块。
后者是推荐的路径,除非您特别依赖已更改的一些 Haskell98 功能。前者排除了根据base使用许多包的可能性。
于 2012-04-25T17:34:11.697 回答