Skip to content

FStarLang/FStar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Dzomo, the Everest Yak
Aug 10, 2022
bb63465 · Aug 10, 2022
Mar 22, 2022
Oct 12, 2020
Aug 10, 2022
Jul 12, 2022
Jan 27, 2017
Mar 22, 2022
Mar 29, 2022
Jan 11, 2022
Aug 10, 2022
Aug 10, 2022
Aug 3, 2022
Jul 28, 2022
Apr 1, 2021
Aug 10, 2022
Apr 4, 2020
Mar 22, 2022
Jun 6, 2022
Feb 15, 2018
Aug 17, 2017
Mar 18, 2021
Jul 30, 2022
Mar 30, 2022
Apr 22, 2022
Jan 27, 2017
Jan 27, 2017
Jun 1, 2022
Mar 22, 2022
Oct 11, 2021
Jun 19, 2019
Aug 10, 2022
Aug 10, 2022

Repository files navigation

F*: A Proof-oriented Programming Language

F* website

More information on F* can be found at www.fstar-lang.org

Installation

See INSTALL.md

Tutorial

The F* tutorial provides a first taste of verified programming in F*, explaining things by example.

Wiki

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.

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 shallowly embedded DSL can be extracted to C or WASM by the KaRaMeL tool, and code written in an ASM-like deeply embedded DSL can be extracted to ASM by the Vale tool.

Chatting about F* on Slack and Zulip

The F* developers and many users interact on this Slack forum---you should be able to join automatically by clicking here, but if that doesn't work, please contact the mailing list mentioned below.

Users can also chat about F* or ask questions at this Zulip forum.

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!

Blog

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.

Contributing

See CONTRIBUTING.md

License

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