Posted by archworx on May 23, 2007
Combining the efficiency, scripting, strong typing and productivity of ML with the stability, libraries, cross-language working and tools of .NET.
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.
Some Starting points
- 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# Library Reference Documentation for F# specific library reference.
- The F# Community page lists key F# sites and projects.