F# Programming Language

F# is a programming language that provides the much sought-after combination of type safety, performance and scripting, with all the advantages of running on a high-quality, well-supported modern runtime system. F# gives you a combination of

interactive scripting like Python,
the foundations for an interactive data visualization environment like MATLAB,
the strong type inference and safety of ML,
a cross-compiling compatible core shared with the popular OCaml language,
a performance profile like that of C#,
easy access to the entire range of powerful .NET libraries and database tools,
a foundational simplicity with similar roots to Scheme,
the option of a top-rate Visual Studio integration,
the experience of a first-class team of language researchers with a track record of delivering high-quality implementations,
the speed of native code execution on the concurrent, portable, and distributed .NET Framework.

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 scientific, engineering and web-based programming tasks.

F# is a pragmatically-oriented variant of ML that shares a core language with OCaml. F# programs run on top of the .NET Framework. 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 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.

For further information, read about F# in more detail, download the F# distribution, read the getting started pages (a guide to installation and running your first program), go to the F# Manual, and learn about the growing F# Community. A short FAQ is also included on this site.

About F# and comparison with OCaml, talks, performance and the FAQ. Getting started is a guide to installation and running your first program. The F# Downloads page contains release and download information for the Microsoft Research implementation of F#. The F# Manual focuses on F#-specific features. The F# Community page lists key F# sites and projects.