ParadigmMulti-paradigm: functional, imperative
Designed byMicrosoft Research and Inria[1]
Stable release
Typing disciplineDependent, inferred, static, strong
OSLinux, macOS, Windows
LicenseApache License 2.0
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.

The latest version of F* is written entirely in a common subset of F* and F#, and bootstraps in both OCaml and F#. It is open source (under the Apache License 2.0) and is under active development on GitHub.[2]


  1. ^ "Microsoft Research Inria Joint Centre". MSR-INRIA.
  2. ^ "FStarLang/FStar". GitHub. 31 October 2022.