F Sharp (programming language)

F#
ParadigmsMulti-paradigm: functional, imperative, object-oriented, agent-oriented, metaprogramming, reflective, concurrent
FamilyML: Caml: OCaml
Designed byDon Syme, Microsoft Research
DeveloperMicrosoft, The F# Software Foundation
First appeared2005; 19 years ago (2005), version 1.0
Stable release
8.0.0 / 14 November 2023; 11 months ago (2023-11-14)
Typing disciplineStatic, strong, inferred
OSCross-platform: .NET framework, Mono
LicenseMIT[1][2]
Filename extensions.fs, .fsi, .fsx, .fsscript
Websitefsharp.org


learn.microsoft.com/en-us/dotnet/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.

  1. ^ "F# Software Foundation's License". GitHub. 14 October 2021.
  2. ^ "Microsoft's F# License". GitHub. 16 October 2021.
  3. ^ a b Syme, Granicz & Cisternino (2007:2)
  4. ^ a b Cite error: The named reference historyMSR was invoked but never defined (see the help page).
  5. ^ a b Syme, Don (2006). "Leveraging .NET Meta-programming Components from F#". [F#] is rooted in the Core ML design, and in particular has a core language largely compatible with that of OCaml
  6. ^ for async
  7. ^ The F# Software Foundation. "Using F# for Web Applications". Retrieved 2020-07-30.
  8. ^ The F# Software Foundation. "Using F# for GPU Programming". Archived from the original on 2019-12-25. Retrieved 2019-12-25.
  9. ^ The F# Software Foundation. "The F# Software Foundation". Retrieved 2012-11-24.
  10. ^ The F# Software Foundation. "F# Compiler (open source edition) @ github". Retrieved 2012-11-24.
  11. ^ "Develop with Visual F# in Visual Studio". Retrieved 2020-07-30.
  12. ^ "F#". Retrieved 2020-07-30.