Introduction

F* (pronounced F star) is an ML-like functional programming language
aimed at program verification.
Its type system includes polymorphism, dependent types,
monadic effects, refinement types, and a weakest precondition calculus.
Together, these features allow expressing precise and compact
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#, or C for execution.

The latest version of F* is written entirely in F*,
and bootstraps in OCaml and F#. It is open source and under active
development on GitHub. A
detailed description of this new F* version is available in
a series of POPL papers
(2016,
2017, and
2018).
You can learn more about F* by following the online
tutorial.
Materials from recent talks are
available below.
Read our blog to
keep up to date with the latest news on F*.

Support

If you encounter a problem with F*, we encourage you to report it to the GitHub issue tracker. Please understand that we may not have the necessary manpower to address new feature requests - as an open source project, we welcome your contributions to help improve F*.

The fstar-club mailing list
is dedicated to F* users. Here is where all F* announcements are made to the
general public (e.g. for releases, new papers, etc) and where users can ask
questions, ask for help, discuss, provide feedback, announce jobs requiring
at least 10 years of F* experience, etc.
List archives are public, but only members can post.
Join here!