I am learning F#. I got the latest May 2009 CTP. Sometimes when compiling source code I get errors somewhat similar to this one:
error FS0039: The namespace or module
'Sys' is not defined. A construct with
this name was found in
FSharp.PowerPack.dll, which contains
some modules and types that were
implicitly referenced in some previous
versions of F#. You may need to add an
explicit reference to this DLL in
order to compile this code.
OK. I am adding the reference and error messages are gone. But I am curious.
What happened here? Why the sudden change from implicitly referenced to an explicit reference? Is it that the PowerPack will become a separate download?
Best Answer
Briefly,
The error message here is effectively a 'transitional' error message, saying that whereas this stuff used to be a part of FSharp.Core, it got moved, and here's how to find it. Basically we're trying not to break everyone while at the same time reducing the public surface area of the core library.
See also
http://blogs.msdn.com/dsyme/archive/2008/12/10/fsharp-to-ship-as-part-of-visual-studio-2010.aspx
Moving forward, the PowerPack will be on CodePlex and will be a vehicle for other experimental and out-of-band library updates.