Git Product home page Git Product logo

fstar's Introduction

F*: A Proof-oriented Programming Language

F* website

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

Installation

See INSTALL.md

Online book

An online book Proof-oriented Programming In F* is in the works and regular updates are posted online. The book is available as a PDF, or you can read it while trying out examples and exercises in your browser interface from this tutorial page.

Wiki

The F* wiki contains additional technical documentation on F*, and is especially useful for topics that are not yet covered by the book.

Editing F* code

You can edit F* code using various text editor. Emacs has the best support currently, providing syntax highlighting, code completion and navigation, and interactive development, using fstar-mode.el. However, other editors also have limited support. More details on editor support are available on the F* wiki.

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.

Mailing list

We also have a mailing list which we use mainly for announcements.

Reporting issues

Please report issues using the F* issue tracker on GitHub. Before filing please 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

fstar's People

Contributors

nikswamy avatar aseemr avatar mtzguido avatar tahina-pro avatar dzomo avatar catalin-hritcu avatar msprotz avatar r1km avatar s-zanella avatar victor-dumitrescu avatar kyodralliam avatar aa755msr avatar cpitclaudel avatar jkzinzindohoue avatar denismerigoux avatar fournet avatar zoep avatar ad-l avatar tchajed avatar protz avatar mlr-msft avatar wintersteiger avatar gugavaro avatar strub avatar monal avatar ctk21 avatar w95psp avatar mwhicks1 avatar darrenge avatar hacklex avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.