2009-07-13 55 views
2

我正在学习F#。我拿到了2009年5月份的最新CTP。有时,编译源代码时,我得到的错误有点类似这样的:F#:FSharp.PowerPack.dll之前的2009年5月CTP

错误FS0039:没有定义的命名空间或模块 “SYS”。与 此名称的结构在 FSharp.PowerPack.dll,其中包含 一些模块和被 隐含在以前的一些 版本的F#的引用类型被发现。您可能需要在 的编译器中添加一个 显式引用此DLL。

好的。我添加了引用,并且错误消息消失了。但我很好奇。

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

回答

2

简而言之,

  • 回来时,F#是一个研究项目,它的图书馆是充满吨的东西
  • 现在F#正在被“产品化”,我们必须更加挑剔就是那张在东西在F#核心库(FSharp.Core.dll)中
  • 因此该库被分割为FSharp.Core和FSharp.PowerPack,其中后者库包含不符合旧版/实验版/后备版/ 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上,将成为其他实验和外的带库的更新车辆。