F* (programming language)

From HandWiki
Short description: Functional programming language inspired by ML and aimed at program verification
F*
Fstar-official-logo-2015.png
ParadigmMulti-paradigm: functional, imperative
Designed byMicrosoft Research and Inria[1]
Stable release
Typing disciplineDependent, inferred, static, strong
OSLinux, macOS, Windows
LicenseApache License 2.0
Websitewww.fstar-lang.org
Influenced by
Coq, Dafny, F#, Lean, OCaml, Standard ML

F* (pronounced F star) is a functional programming language inspired by ML and aimed at program verification. Its type system includes dependent types, monadic effects, and refinement types. This allows expressing precise specifications for programs, including functional correctness and security properties. The F* type-checker aims to prove that programs meet their specifications using a combination of SMT solving and manual proofs. Programs written in F* can be translated to OCaml, F#, and C for execution. Previous versions of F* could also be translated to JavaScript.

It was introduced in 2011[2][3] and is under active development on GitHub.[4]

History

Versions

Up until version 2022.03.24 F* was written entirely in a common subset of F* and F# and supported bootstrapping in both OCaml and F#. This was dropped beginning in version 2022.04.02.[5][6]

References

Sources

External links