F*

出自求聞百科
F*
編程範型多範式函數式指令式面向對象元編程並發編程
設計者微軟研究院INRIA
穩定版本
v2021.07.31
(2021年7月31日 (2021-07-31)
型態系統靜態類型強類型類型推斷
作業系統Linux, macOS, Windows
許可證Apache許可證
文件擴展名.fst
網站https://fstar-lang.org/
受啟發於
F#OCamlStandard MLCoqLeanDafny

F*(讀作「F star」)是一個由微軟研究院INRIA主導開發的、基於ML依賴類型函數式程序語言,主要用於程序的形式化驗證。

F*的類型系統十分豐富,支持依賴類型、單子化效用(monadic effects)和細化類型(refinement types)。這使其能夠準確地用於表述程序的形式化規範,包括功能正確性和安全性。 F*的類型檢查器通過檢查手寫的證明和SMT自動求解來確保程序符合規範。

使用F*書寫的程序可被編譯到OCamlF#C加以執行。早期版本的F*亦支持編譯到JavaScript。

F*語言本身使用F*和F#實現,並可從OCamlF#引導。它的源碼使用Apache協議授權,目前託管在GitHub[1]

引用

  1. FStarLang/FStar. GitHub. 

來源

  • Ahman, Danel; Hriţcu, Cătălin; Maillard, Kenji; Martínez, Guido; Plotkin, Gordon; Protzenko, Jonathan; Rastogi, Aseem; Swamy, Nikhil. Dijkstra Monads for Free. 44nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 2017. 
  • 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. Dependent Types and Multi-Monadic Effects in F*. 43nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 2016. 

外部連結