<p>These pages document F#'s origins as a research project at Microsoft Research, Cambridge. You can find out all about the latest happenings with F# at the <a href="http://msdn.microsoft.com/fsharp"><span style="color: #1166ff;">MSDN F# Developer Center</span></a>. </p>
<p>Download F#, part of <a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"><span style="color: #1166ff;">Visual Studio 2010 Beta1</span></a>, plug in for <a href="http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/InstallFSharp.msi"><span style="color: #1166ff;">CTP Update for Visual Studio 2008</span></a> or <a href="http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/fsharp.zip"><span style="color: #1166ff;">standalone compiler ZIP, for Mono and Windows</span></a></p>
<p>F# developed as a research programming language to provide the much sought-after combination of <strong>type safety</strong>, <strong>succinctness</strong>, <strong>performance</strong>, <strong>expresivity</strong> and <strong>scripting</strong>, with all the advantages of running on a high-quality, well-supported modern runtime system. This combination has been so successful that the language is now being transitioned towards a <a href="http://blogs.msdn.com/somasegar/archive/2007/10/17/f-a-functional-programming-language.aspx"><span style="color: #1166ff;">fully supported language</span></a> on the .NET platform. Some of the reasons for this move are that F# gives you:</p>
<ul>
<li>
<a href="http://blogs.msdn.com/lukeh/archive/2008/05/05/huffman-coding-with-f.aspx"><span style="color: #1166ff;">succinct, type-inferred functional programming</span></a>, </li>
<li>
<a href="http://channel9.msdn.com/posts/Dan/C9-Bytes-Data-Visualization-and-FSharp-with-Luke-Hoban/"><span style="color: #1166ff;">interactive scripting</span></a> like Python and other languages, </li>
<li>the foundations for an <a href="http://blogs.msdn.com/dsyme/archive/2006/02/19/534925.aspx"><span style="color: #1166ff;">interactive data visualization environment</span></a>, </li>
<li>the combination of type inference and safety, like that of ML, </li>
<li>a cross-compiling core shared with the popular OCaml language, </li>
<li>a performance profile like that of C#, </li>
<li>easy access to the entire range of powerful <a href="http://msdn2.microsoft.com/en-us/library/d11h6832(vs.71).aspx"><span style="color: #1166ff;">.NET libraries and database tools</span></a>, </li>
<li>a <a href="http://en.wikipedia.org/wiki/Lambda_calculus"><span style="color: #1166ff;">foundational simplicity</span></a> with similar roots to Scheme, </li>
<li>the option of a top-rate <a href="http://msdn.microsoft.com/fsharp"><span style="color: #1166ff;">Visual Studio</span></a> integration, which is usable with the freely available <a href="http://msdn.microsoft.com/en-us/vsx2008/products/bb933751.aspx"><span style="color: #1166ff;">Visual Studio 2008 Shell</span></a> </li>
<li>the experience of a <a href="http://research.microsoft.com/aboutmsr/labs/cambridge/default.aspx"><span style="color: #1166ff;">first-class team</span></a> of language researchers with a <a href="http://research.microsoft.com/en-us/um/people/akenn/generics/"><span style="color: #1166ff;">track</span></a> <a href="http://blogs.msdn.com/andrewkennedy"><span style="color: #1166ff;">record</span></a> of delivering high-quality implementations, </li>
<li>the speed of native code execution on the <a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"><span style="color: #1166ff;">concurrent</span></a>, <a href="http://www.go-mono.com/"><span style="color: #1166ff;">portable</span></a>, and <a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"><span style="color: #1166ff;">distributed</span></a> <a href="http://msdn.microsoft.com/netframework"><span style="color: #1166ff;">.NET Framework</span></a>. </li>
</ul>
<p>The only language to provide a combination like this is F# (pronounced FSharp) - a scripted/functional/imperative/object-oriented programming language that is a fantastic basis for many practical programming tasks. </p>
<p>F# was developed as a pragmatically-oriented variant of ML that shares a core language with <a href="http://caml.inria.fr/"><span style="color: #1166ff;">OCaml</span></a>. Unlike other scripting languages it executes at or near the speed of C# and C++, making use of the performance that comes through strong typing. Unlike many type-inferred, statically-typed languages it also supports many dynamic language techniques, such as property discovery and reflection where needed. F# includes extensions for working across languages and for object-oriented programming, and it works seamlessly with other .NET programming languages and tools.</p>
<p>For further information, see the <a href="http://msdn.microsoft.com/fsharp"><span style="color: #1166ff;">MSDN F# Developer Center</span></a> </p>
<p>Download F#, part of <a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"><span style="color: #1166ff;">Visual Studio 2010 Beta1</span></a>, plug in for <a href="http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/InstallFSharp.msi"><span style="color: #1166ff;">CTP Update for Visual Studio 2008</span></a> or <a href="http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/fsharp.zip"><span style="color: #1166ff;">standalone compiler ZIP, for Mono and Windows</span></a></p>
<p>F# developed as a research programming language to provide the much sought-after combination of <strong>type safety</strong>, <strong>succinctness</strong>, <strong>performance</strong>, <strong>expresivity</strong> and <strong>scripting</strong>, with all the advantages of running on a high-quality, well-supported modern runtime system. This combination has been so successful that the language is now being transitioned towards a <a href="http://blogs.msdn.com/somasegar/archive/2007/10/17/f-a-functional-programming-language.aspx"><span style="color: #1166ff;">fully supported language</span></a> on the .NET platform. Some of the reasons for this move are that F# gives you:</p>
<ul>
<li>
<a href="http://blogs.msdn.com/lukeh/archive/2008/05/05/huffman-coding-with-f.aspx"><span style="color: #1166ff;">succinct, type-inferred functional programming</span></a>, </li>
<li>
<a href="http://channel9.msdn.com/posts/Dan/C9-Bytes-Data-Visualization-and-FSharp-with-Luke-Hoban/"><span style="color: #1166ff;">interactive scripting</span></a> like Python and other languages, </li>
<li>the foundations for an <a href="http://blogs.msdn.com/dsyme/archive/2006/02/19/534925.aspx"><span style="color: #1166ff;">interactive data visualization environment</span></a>, </li>
<li>the combination of type inference and safety, like that of ML, </li>
<li>a cross-compiling core shared with the popular OCaml language, </li>
<li>a performance profile like that of C#, </li>
<li>easy access to the entire range of powerful <a href="http://msdn2.microsoft.com/en-us/library/d11h6832(vs.71).aspx"><span style="color: #1166ff;">.NET libraries and database tools</span></a>, </li>
<li>a <a href="http://en.wikipedia.org/wiki/Lambda_calculus"><span style="color: #1166ff;">foundational simplicity</span></a> with similar roots to Scheme, </li>
<li>the option of a top-rate <a href="http://msdn.microsoft.com/fsharp"><span style="color: #1166ff;">Visual Studio</span></a> integration, which is usable with the freely available <a href="http://msdn.microsoft.com/en-us/vsx2008/products/bb933751.aspx"><span style="color: #1166ff;">Visual Studio 2008 Shell</span></a> </li>
<li>the experience of a <a href="http://research.microsoft.com/aboutmsr/labs/cambridge/default.aspx"><span style="color: #1166ff;">first-class team</span></a> of language researchers with a <a href="http://research.microsoft.com/en-us/um/people/akenn/generics/"><span style="color: #1166ff;">track</span></a> <a href="http://blogs.msdn.com/andrewkennedy"><span style="color: #1166ff;">record</span></a> of delivering high-quality implementations, </li>
<li>the speed of native code execution on the <a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"><span style="color: #1166ff;">concurrent</span></a>, <a href="http://www.go-mono.com/"><span style="color: #1166ff;">portable</span></a>, and <a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"><span style="color: #1166ff;">distributed</span></a> <a href="http://msdn.microsoft.com/netframework"><span style="color: #1166ff;">.NET Framework</span></a>. </li>
</ul>
<p>The only language to provide a combination like this is F# (pronounced FSharp) - a scripted/functional/imperative/object-oriented programming language that is a fantastic basis for many practical programming tasks. </p>
<p>F# was developed as a pragmatically-oriented variant of ML that shares a core language with <a href="http://caml.inria.fr/"><span style="color: #1166ff;">OCaml</span></a>. Unlike other scripting languages it executes at or near the speed of C# and C++, making use of the performance that comes through strong typing. Unlike many type-inferred, statically-typed languages it also supports many dynamic language techniques, such as property discovery and reflection where needed. F# includes extensions for working across languages and for object-oriented programming, and it works seamlessly with other .NET programming languages and tools.</p>
<p>For further information, see the <a href="http://msdn.microsoft.com/fsharp"><span style="color: #1166ff;">MSDN F# Developer Center</span></a> </p>