Dear F* users, We are pleased to announce that F* v0.9.6.0 was released last week: https://github.com/FStarLang/FStar/releases/tag/v0.9.6.0
A large number of people contributed to this release: thanks to all! # Main new features - Meta-F*: A metaprogramming and tactic framework, as described in this [report](https://arxiv.org/abs/1803.06547). Code samples are in examples/tactics, examples/native_tactics and the `FStar.Tactics` and `FStar.Reflection` libraries. Many people contributed a lot to this work, especially Guido Martinez. - Improved type inference with two-phase typechecking: We now build verification conditions for a program after a first phase of type inference. This improves inference of implicit arguments and reduces our trust in the type inference. Thanks to Aseem Rastogi! - Caching typechecked modules: F* emits ".checked" files, an on-disk representation of a typechecked module that can be read back later. This significantly reduces the time to load a module's dependences. # Many other improvements A sampling of improvements across the entire tool chain: - Resolving several syntactic ambiguities in the parser - A correct pretty printer for surface terms, using `fstar --indent` - A new dependence analysis to support incremental compilation for larger projects - Overhauling the higher order unification algorithm, both in the representation of meta-variables and in the handling of unfolding, leading to significant performance and robustness improvements (see https://github.com/FStarLang/FStar/wiki/Design-note:-Revising-the-unifier) - Automatic generation of interfaces for modules and tighter enforcement of abstraction boundaries (see https://github.com/FStarLang/FStar/wiki/Revised-checking-of-a-module's-interface) - Improvements to the SMT encoding, removing axioms that lead to performance problems and reducing brittleness related to optimizations in the encoding, notably shallow vs deep encodings - Improved type-based erasure for extraction - Several new and improved libraries, including a revised treatment of footprints for Low* programs, in `FStar.Modifies` - And work by many people in Project Everest whose use of F* drove a lot of the work in this release. - Plus many other improvements and changes as described in https://github.com/FStarLang/FStar/blob/v0.9.6.0/CHANGES.md - And 180 closed github issues https://github.com/FStarLang/FStar/issues?q=is%3Aissue+is%3Aclosed+closed%3A%222017-08-23+..+2018-05-17%22 _______________________________________________ fstar-club mailing list fstar-club@lists.gforge.inria.fr https://lists.gforge.inria.fr/mailman/listinfo/fstar-club