F*: An ML-like language with a type system for program verification
More information on F* can be found at www.fstar-lang.org
The F* tutorial provides a first taste of verified programming in
F*, explaining things by example.
The F* wiki contains additional, usually more in-depth, technical
documentation on F*.
Editing F* code
You can edit F* code using your favourite text editor, but Emacs,
Atom, and Vim have extensions that add special support for F*,
including syntax highlighting and interactive development. More
details on editor support on the F* wiki.
Executing F* code
By default F only verifies the input code, it does not compile or execute it.
To execute F code one needs to translate it to either OCaml or F#, using
F*'s code extraction facility---this is invoked using the command line
--codegen OCaml or
--codegen FSharp. More details on
executing F* code on the F* wiki.
Community mailing list
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.
Please report issues using the F* issue tracker on GitHub.
We don't maintain old releases, so if possible please use the
online F* editor or directly the GitHub sources to check
that your problem still exists.
This new variant of F* is released under the Apache 2.0 license;
LICENSE for more details.
Towards F* version 1.0
This is a new variant of F* (carrying version 0.9.x) that is still in
development and we hope will eventually lead to a 1.0 release. This
new variant is incompatible and quite different compared to the
previously released 0.7 versions and earlier.
Old F* versions (v0.7.1 and earlier)
F* v0.7.1 and earlier are no longer maintained, so please do not
create any issues here about those versions.