F*

F*
clase de idioma

multiparadigma : funcional , orientado a objetos , generalizado ,

programación imperativa
Autor Investigación de Microsoft e INRIA [1]
Desarrollador Investigación de Microsoft [2] e INRIA
Liberar
sistema de tipos estricto, estático, con inferencia de tipos , con tipos dependientes
sido influenciado Coq , Dafny , F# , Lean , OCaml , ML estándar
Licencia Licencia de software Apache
Sitio web fstar-lang.org
sistema operativo Software multiplataforma ( Linux , macOS , Windows )

F* (pronunciado como F estrella) es un lenguaje de programación funcional basado en ML y enfocado a la verificación formal de programas desarrollados en él.

Su sistema de tipos incluye tipos dependientes , efectos monádicos y tipos de refinamiento Estos medios expresivos son suficientes para dar especificaciones precisas para programas, incluidas descripciones de corrección funcional y propiedades de seguridad. El mecanismo de verificación de tipos en F* le permite probar que los programas se ajustan a sus especificaciones. Esto se hace usando una combinación de solucionador SMT y pruebas manuales . Los programas escritos en F* se pueden traducir a OCaml , F# y C para su posterior compilación y ejecución. Las versiones anteriores de F* también se podían traducir a JavaScript .

La última versión de F* está escrita completamente en un subconjunto común de F* y F# y se puede ejecutar con OCaml o F#. El código fuente del lenguaje está abierto bajo la licencia Apache 2.0 y se desarrolla activamente en GitHub [4] .


Literatura

Enlaces


Notas

  1. ^ Centro conjunto de Microsoft Research Inria . MSR-INRIA . Consultado el 28 de mayo de 2020. Archivado desde el original el 21 de mayo de 2020.
  2. 1 2 https://www.fstar-lang.org/#people
  3. Versión 0.9.6.0 - 2018.
  4. FStarLang/FStar . GitHub . Consultado el 28 de mayo de 2020. Archivado desde el original el 10 de julio de 2020.