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 | 9[1]
/ 12 November 2024 |
Typing discipline | Static, strong, inferred |
OS | Cross-platform: .NET framework, Mono |
License | MIT[2][3] |
Filename extensions | .fs, .fsi, .fsx, .fsscript |
Website | fsharp
|
Influenced by | |
C#, Erlang, Haskell,[4] ML, OCaml,[5][6] Python, Scala | |
Influenced | |
C#,[7] 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[8] and graphics processing unit (GPU) code.[9]
F# is developed by the F# Software Foundation,[10] Microsoft and open contributors. An open source, cross-platform compiler for F# is available from the F# Software Foundation.[11] F# is a fully supported language in Visual Studio[12] and JetBrains Rider.[13] 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.[5][6] It has also been influenced by C#, Python, Haskell,[4] Scala and Erlang.
{{cite web}}
: Missing or empty |title=
(help)
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