Skip to content
Verification system for effectful programs
F* F# OCaml Forth Shell Python Other
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci restore Dec 16, 2017
.completion options: disable --n_cores, since it's broken Jun 13, 2019
.docker Revert "(TEST) Use Everest-CI taramana_ocaml_4_09" May 16, 2020
.github schedule MacOS builds weekly Mar 15, 2020
.hooks Revert "[CI] regenerate hints + ocaml snapshot" Jan 27, 2017
.scripts Guaranteed ordered check for [let rec] May 11, 2020
bin benchmarking: keep .bench files unformatted May 14, 2020
contrib/CoreCrypto/fst copyright notice on all .fst and .fsti files that lacked them Nov 12, 2018
doc [CI] regenerate hints + ocaml snapshot May 26, 2020
examples [CI] regenerate hints + ocaml snapshot Jun 3, 2020
src snap Jun 1, 2020
tests adding a testcase for #2055 Jun 1, 2020
ucontrib some fixes to makefiles Mar 31, 2020
ulib [CI] regenerate hints + ocaml snapshot Jun 3, 2020 move src/Makefil.common -> / Apr 4, 2020
.gitattributes gitattributes Oct 15, 2019
.gitignore F# support library build issue #1780 Apr 27, 2020
.gitmodules removing openssl submodule Feb 15, 2018
.ignore Un-ignore some hand-written files Aug 17, 2017
.merlin First attempt at replacing OCaml prettyprinters with a single one May 15, 2018
.travis.yml Revert "[CI] regenerate hints + ocaml snapshot" Jan 27, 2017 recording the change in Apr 27, 2020 [INSTALL, CONTRIBUTING] Move out some advanced instrs Jul 26, 2019 Add running 'opam update' to Apr 18, 2020
LICENSE Revert "[CI] regenerate hints + ocaml snapshot" Jan 27, 2017
LICENSE-fsharp.txt Revert "[CI] regenerate hints + ocaml snapshot" Jan 27, 2017
Makefile Makefile: add `make libs` Apr 20, 2020 Mentioned VSCode support in Jul 26, 2019
_tags fix _tags Mar 22, 2020 merging master in Jul 2, 2019 [INSTALL, fsharp-development] Modernize instructions May 6, 2019
version.txt merging master in Jul 2, 2019

F*: Verification system for effectful programs

F* website

More information on F* can be found at




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, Visual Studio Code, Atom, and Vim have extensions that add special support for F*, including for instance syntax highlighting, code completion, quick navigation, type hints, and interactive development. More details on editor support on the F* wiki.

You can also edit simple examples directly in your browser by using either the online F* editor that's part of the F* tutorial or our new even cooler online editor (experimental).

Extracting and 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 for instance to OCaml or F#, using F*'s code extraction facility---this is invoked using the command line argument --codegen OCaml or --codegen FSharp. More details on executing F* code via OCaml on the F* wiki.

Also, code written in a C-like shalowly embedded DSL can be extracted to C or WASM by the KreMLin tool, and code written in an ASM-like deeply embedded DSL can be extracted to ASM by the Vale tool.

Chatting about F* on Zulip

Users can chat about F* or ask questions at (Zulip is a good open source alternative to Slack)

Community mailing list

The fstar-club mailing list is where various 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 and searchable, but only members can post. Join here!


The F* for the masses blog is also expected to become an important source of information and news on the F* project.

Reporting issues

Please report issues using the F* issue tracker on GitHub. Before filing please use search to make sure the issue doesn't already exist. 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 on the master branch.




F* is released under the Apache 2.0 license; for more details see LICENSE

You can’t perform that action at this time.