F* (programming language)

F*
Paradigm multi-paradigm: functional, imperative, formal verification
Designed by Microsoft Research, MSR-Inria, and Inria
Stable release 0.9.2.0 / February 1, 2016 (2016-02-01)
Typing discipline static, strong, inferred, dependent types, formal verification
OS Cross-platform
(Windows, OS X, and Linux)
License Apache 2.0 License
Website www.fstar-lang.org
Influenced by
F#, OCaml, Standard ML, Fine, F7, F5, FX, HTT, Trellys, Zombie, Dafny

F* (pronounced F star) is an ML-like functional programming language aimed at program verification. Its type system includes polymorphism, dependent types, monadic effects, and refinement types. Together, these features allow expressing precise specifications for programs, including functional correctness properties. The F* type-checker aims to prove that programs meet their specifications using a combination of SMT solving and manual proofs. Programs written in F* can be translated to OCaml or F# for execution. Previous versions of F* could also be translated to JavaScript.

The latest version of F* is written entirely in F*, and bootstraps in OCaml and F#. It is open source (under the Apache 2.0 License) and is under active development on GitHub.

References

Swamy, Nikhil; Hriţcu, Cătălin; Keller, Chantal; Rastogi, Aseem; Delignat-Lavaud, Antoine; Forest, Simon; Bhargavan, Karthikeyan; Fournet, Cédric; Strub, Pierre-Yves; Kohlweiss, Markulf; Zinzindohoue, Jean-Karim; Zanella-Béguelin, Santiago (2016). "Dependent Types and Multi-Monadic Effects in F*". 44nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 

    External links


    This article is issued from Wikipedia - version of the Monday, February 01, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.