什么是Haskell标准库?

什么是Haskell标准库?,haskell,ghc,Haskell,Ghc,GHC特定的库可以称为标准库吗?还是只有Haskell 2010报告中的那些才算 许多GHC库可以通过Haskell报告中的函数实现,可能与C绑定结合使用。但是其他的依赖于GHC特定的扩展,因为语言报告中定义的当前Haskell语言不支持它 例如,Data.Array.IO可以在纯标准Haskell中实现吗 认为GHC是Haskell真的可以吗?不幸的是,Haskell社区对什么是“标准”库没有真正的共识 对于许多用途来说,这些功能太有限了 主要根据GHC本身的需求来定义 这是一个试图定义一个

GHC特定的库可以称为标准库吗?还是只有Haskell 2010报告中的那些才算

许多GHC库可以通过Haskell报告中的函数实现,可能与C绑定结合使用。但是其他的依赖于GHC特定的扩展,因为语言报告中定义的当前Haskell语言不支持它

例如,
Data.Array.IO
可以在纯标准Haskell中实现吗


认为GHC是Haskell真的可以吗?

不幸的是,Haskell社区对什么是“标准”库没有真正的共识

  • 对于许多用途来说,这些功能太有限了
  • 主要根据GHC本身的需求来定义
  • 这是一个试图定义一个,但许多人不喜欢依赖它
  • 尤其是太大了

特别是关于
Data.Array.IO
,答案是明确的“否”。说“除了提供Haskell 2010语言报告中指定的Data.Array模块外,该包还定义了相应单子中不可变数组的IArray类和可变数组的MArray类,以及这些类的一些实例”(emphasis mine);同时,标记为“不可移植(使用Data.Array.MArray)”。据我所知,GHC是当前唯一的通用Haskell实现。这就是说,您可能想查看
GHCJS
Haste
提供了哪些库,也许还想向Haskell的亲戚如Purescript和Frege拓展一点。不幸的是,Haskell社区对什么是“标准”库没有真正的共识。报表库对于许多用途来说太有限,GHC库主要是根据GHC本身的需要定义的,Haskell平台试图定义一个,但许多人不喜欢依赖它,而且Stackage,尤其是Hackage太大了。@ØrjanJohansen也许你应该将你的评论作为答案发布。