All Projects → FStarLang → Fstar

FStarLang / Fstar

Licence: apache-2.0
A Proof-oriented Programming Language

Programming Languages

ocaml
1615 projects
F*
10 projects
F#
602 projects
forth
179 projects
shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Fstar

archsat
A proof-producing SMT/McSat solver, handling polymorphic first-order logic, and using an SMT/McSat core extended using Tableaux, Superposition and Rewriting.
Stars: ✭ 20 (-99.08%)
Mutual labels:  theorem-proving, smt
Stainless
Verification framework and tool for higher-order Scala programs
Stars: ✭ 241 (-88.9%)
Mutual labels:  verification, smt
Sbv
SMT Based Verification in Haskell. Express properties about Haskell programs and automatically prove them using SMT solvers.
Stars: ✭ 125 (-94.24%)
Mutual labels:  verification, smt
Liquidhaskell
Liquid Types For Haskell
Stars: ✭ 863 (-60.25%)
Mutual labels:  verification, smt
Stp
Simple Theorem Prover, an efficient SMT solver for bitvectors
Stars: ✭ 341 (-84.29%)
Mutual labels:  verification, smt
Smack
SMACK Software Verifier and Verification Toolchain
Stars: ✭ 305 (-85.95%)
Mutual labels:  verification, smt
Alive2
Automatic verification of LLVM optimizations
Stars: ✭ 199 (-90.83%)
Mutual labels:  verification, smt
Sat smt by example
"SAT/SMT by example" free ebook
Stars: ✭ 339 (-84.39%)
Mutual labels:  verification, smt
Pysmt
pySMT: A library for SMT formulae manipulation and solving
Stars: ✭ 352 (-83.79%)
Mutual labels:  verification, smt
Lean
Homepage Theorem Proving in Lean FAQ
Stars: ✭ 2,006 (-7.6%)
Mutual labels:  verification, theorem-proving
Cogent
Cogent Project
Stars: ✭ 137 (-93.69%)
Mutual labels:  verification
Precious Plastic Kit
Precious Plastic Downloadpack
Stars: ✭ 136 (-93.74%)
Mutual labels:  smt
Vscode Tlaplus
TLA+ language support for Visual Studio Code
Stars: ✭ 152 (-93%)
Mutual labels:  verification
Express Mongodb Rest Api Boilerplate
A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).
Stars: ✭ 153 (-92.95%)
Mutual labels:  verification
Siepic ebeam pdk
SiEPIC EBeam PDK & Library, for SiEPIC-Tools and KLayout
Stars: ✭ 121 (-94.43%)
Mutual labels:  verification
Email Verifier
✅ A Go library for email verification without sending any emails.
Stars: ✭ 162 (-92.54%)
Mutual labels:  verification
Jlcparts
Better parametric search for components available for JLC PCB assembly
Stars: ✭ 114 (-94.75%)
Mutual labels:  smt
Gini
A fast SAT solver
Stars: ✭ 112 (-94.84%)
Mutual labels:  verification
Software Quality Wiki
Software Quality Wiki
Stars: ✭ 1,991 (-8.29%)
Mutual labels:  verification
Sv Benchmarks
Collection of Verification Tasks
Stars: ✭ 158 (-92.72%)
Mutual labels:  verification

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 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 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].