
F*
F* is a free, open-source programming language for purely functional and effectful programs, designed around proving program properties.
What F* is
F* is a free, open-source programming language for purely functional and effectful programs, designed around proving program properties. Its type system combines dependent types with SMT-based proof automation and interactive theorem proving with tactics. Programs compile to OCaml by default; selected code can also be extracted to F#, C, WebAssembly, or assembly using KaRaMeL or Vale. F* is implemented in F* and bootstrapped using OCaml, and distributed under the Apache 2.0 license. Binaries are offered for Windows, Linux, and Mac OS X, with installation through OPAM, Docker, Nix, or source builds. Learning resources include an online book, browser examples and exercises, and a Low* tutorial for a low-level subset that can compile to C through KaRaMeL. Questions can go to GitHub Discussions or a public Zulip forum; the project also lists a low-traffic mailing list and maintainer contact email. F* is used in security work: Project Everest develops secure communication software with it, and HACL* provides cryptographic primitives written in F* and extracted to C. The project says code from HACL*, ValeCrypt, and EverCrypt is used in production projects including Firefox, the Linux kernel, Python, mbedTLS, and WireGuard.
Good
- Apache 2.0 licensed and open source
- Proof support combines SMT automation and interactive tactics
- Compiles to OCaml by default
- Learning materials include an online book and browser exercises
- Supports Windows, Linux, and Mac OS X
Watch out
- Mac OS X is the listed platform wording
- F* requires installation or a source build
Who it suits
F* suits programmers working with functional or effectful code who need proof-oriented development. Its learning resources and installation options are listed for several operating systems and environments.
Verdict
F* offers a proof-focused language with multiple extraction targets and a set of learning resources. Its emphasis on formal proofs makes it most relevant to users whose work calls for that approach.
Plans and prices
From F*'s own pricing page, checked 11 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| F* | Free | Apache 2.0 licensed · binaries for Windows, Linux, and Mac OS X · install via OPAM, Docker, or Nix, or build from source |
The facts
Each one read from F*'s own pages, with the date it was checked.
What it does
- Community support
- The project directs questions to GitHub Discussions and a public Zulip forum, and lists a low-traffic mailing list and maintainer contact email.checked 11 Oct 2026
- Compilation
- F* programs compile by default to OCaml, and fragments can also be extracted to F#, C, WebAssembly, or assembly using KaRaMeL or Vale.checked 11 Oct 2026
- Development
- F* is open source on GitHub and is under active development by Microsoft Research, Inria, and the community.checked 11 Oct 2026
- Implementation
- F* is implemented in F* and bootstrapped using OCaml.checked 11 Oct 2026
- Installation
- The project offers binaries for Windows, Linux, and Mac OS X, and installation through OPAM, Docker, Nix, or source builds.checked 11 Oct 2026
- Learning
- The site links to an online book, browser examples and exercises, and a tutorial for Low*, a low-level subset that can compile to C through KaRaMeL.checked 11 Oct 2026
- License
- F* is distributed under the Apache 2.0 license.checked 11 Oct 2026
- Parser tooling
- EverParse generates C code from formally proven F* and is used in production, including in Windows Hyper-V.checked 11 Oct 2026
- Production use
- The site says code from HACL*, ValeCrypt, and EverCrypt is used in production projects including Firefox, the Linux kernel, Python, mbedTLS, and WireGuard.checked 11 Oct 2026
- Proof system
- It combines dependent types with proof automation based on SMT solving and tactic-based interactive theorem proving.checked 11 Oct 2026
- Purpose
- F* is a general-purpose proof-oriented programming language for purely functional and effectful programming.checked 11 Oct 2026
- Security use
- Project Everest develops high-assurance secure communication software in F*, and HACL* provides high-assurance cryptographic primitives written in F* and extracted to C.checked 11 Oct 2026
The company
- Core team
- The listed core development team includes contributors affiliated with Microsoft Research in Redmond and Bangalore.checked 11 Oct 2026



