Paradigms | Multi-paradigm: functional, imperative, object-oriented, agent-oriented, metaprogramming, reflective, concurrent |
---|---|
Family | ML: Caml: OCaml |
Designed by | Don Syme, Microsoft Research |
Developer | Microsoft, The F# Software Foundation |
First appeared | 2005 | , version 1.0
Stable release | 8.0.0
/ 14 November 2023 |
Typing discipline | Static, strong, inferred |
OS | Cross-platform: .NET framework, Mono |
License | MIT[1][2] |
Filename extensions | .fs, .fsi, .fsx, .fsscript |
Website | fsharp
|
Influenced by | |
C#, Erlang, Haskell,[3] ML, OCaml,[4][5] Python, Scala | |
Influenced | |
C#,[6] Elm, F*, LiveScript | |
|
F# (pronounced F sharp) is a general-purpose, high-level, strongly typed, multi-paradigm programming language that encompasses functional, imperative, and object-oriented programming methods. It is most often used as a cross-platform Common Language Infrastructure (CLI) language on .NET, but can also generate JavaScript[7] and graphics processing unit (GPU) code.[8]
F# is developed by the F# Software Foundation,[9] Microsoft and open contributors. An open source, cross-platform compiler for F# is available from the F# Software Foundation.[10] F# is a fully supported language in Visual Studio[11] and JetBrains Rider.[12] Plug-ins supporting F# exist for many widely used editors including Visual Studio Code, Vim, and Emacs.
F# is a member of the ML language family and originated as a .NET Framework implementation of a core of the programming language OCaml.[4][5] It has also been influenced by C#, Python, Haskell,[3] Scala and Erlang.
historyMSR
was invoked but never defined (see the help page).[F#] is rooted in the Core ML design, and in particular has a core language largely compatible with that of OCaml