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
9[1] Edit this on Wikidata / 12 November 2024; 9 days ago (12 November 2024)
Typing disciplineStatic, strong, inferred
OSCross-platform: .NET framework, Mono
LicenseMIT[2][3]
Filename extensions.fs, .fsi, .fsx, .fsscript
Websitefsharp.org


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

  1. ^ https://github.com/dotnet/fsharp/releases/tag/v12.9.100-beta.24522.2. {{cite web}}: Missing or empty |title= (help)
  2. ^ "F# Software Foundation's License". GitHub. 14 October 2021.
  3. ^ "Microsoft's F# License". GitHub. 16 October 2021.
  4. ^ a b Syme, Granicz & Cisternino (2007:2)
  5. ^ a b Cite error: The named reference historyMSR was invoked but never defined (see the help page).
  6. ^ 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
  7. ^ for async
  8. ^ The F# Software Foundation. "Using F# for Web Applications". Retrieved 2020-07-30.
  9. ^ The F# Software Foundation. "Using F# for GPU Programming". Archived from the original on 2019-12-25. Retrieved 2019-12-25.
  10. ^ The F# Software Foundation. "The F# Software Foundation". Retrieved 2012-11-24.
  11. ^ The F# Software Foundation. "F# Compiler (open source edition) @ github". Retrieved 2012-11-24.
  12. ^ "Develop with Visual F# in Visual Studio". Retrieved 2020-07-30.
  13. ^ "F#". Retrieved 2020-07-30.