F#:FSharp.PowerPack.dll在2009年5月CTP之前

时间:2009-07-13 17:37:22

标签: f#

我正在学习F#。我收到了2009年5月最新的CTP。有时在编译源代码时,我会得到与此类似的错误:

  

错误FS0039:命名空间或模块   “系统”没有定义。一个带有的结构   这个名字是在   FSharp.PowerPack.dll,包含   一些模块和类型   在之前的一些内容中隐式引用   F#的版本。您可能需要添加一个   显式引用此DLL   为了编译这段代码。

行。我正在添加引用和错误消息已消失。但我很好奇。

这里发生了什么?为什么突然改变从隐式引用到显式引用?是PowerPack会成为separate download吗?

1 个答案:

答案 0 :(得分:2)

简言之,

  • 当F#是一个研究项目时,它的图书馆里充满了大量的东西
  • 既然F#正在“产品化”,我们必须对F#核心库中的东西更加挑剔(FSharp.Core.dll)
  • 因此库被分区为FSharp.Core和FSharp.PowerPack,后者库包含较旧的/ experimental / back-compat / OCaml-compat的东西,不符合作为核心库一部分的运输条件

这里的错误消息实际上是一个“过渡性”错误消息,说这个东西曾经是FSharp.Core的一部分,它被移动了,这就是如何找到它。基本上我们试图不打破每个人,同时减少核心库的公共表面区域。

另见

http://blogs.msdn.com/dsyme/archive/2008/12/10/fsharp-to-ship-as-part-of-visual-studio-2010.aspx

展望未来,PowerPack将在CodePlex上运行,并将成为其他实验性和带外库更新的载体。