Since all deadlines just passed, we should now have enough time to tackle the following cleanup issues (roughly sorted in decreasing order of importance/significance):
Merging branches
Bootstrap
Concrete syntax
Libraries
dm4free
Z3
Misc
//val f (x:nat) : nat //f : x:nat -> Tot nat
let f x : nat = mk_ref 0; 0 ~~> let f x : DefaultEffect nat = ...
let f x = (fact y <: Pure nat (requires (y >= 0)) wp)
(e <: t) or (e <: M t wp)
(e <:: t)
confused
Post-release
Since all deadlines just passed, we should now have enough time to tackle the following cleanup issues (roughly sorted in decreasing order of importance/significance):
Merging branches
kyod_parser
Ready to go whenever thje Fsyacc bug is patched
c_record_aead (Nik trying)
Passing regression test in low-level crypto
Set this for nightly-build only in master
Will merge at first opportunity
taramana_local_open, projectors, name_resolution: pull request 'Modul(term)' -> 'Modul.(term)' ; 'Dcon.prm' -> 'Dcon?.prm', 'is_Dcon' -> 'Dcon?' ; improved name resolution #772
In that order
see Modules, namespaces and name resolution
Improvements based on these syntax changes
includefor libraries, to "merge" several libraries into one single namespace #691): branch taramana_includeBootstrap
Concrete syntax
pretty-printer (sishtiaq_pp #764) P1 (protz, kenji, tomer, samin)
finishing the hybrid integration of pprint/F# and pprint/ml including
pretty_stringandpretty_out_channel(samin)Printing the front-end syntax (timeline Jan 15, 2017) We have
fstar --indenthave fstar-indent as a use-case for the new pretty printer -- need to preserve comments (possibly tricky); ideally, hook it up to the emacs mode via m-x indent-region
manual universe instantiation P1 by end of 2016
ascription syntax P3 (precedence of <: ) asap (kenji)
We want
(fun x -> e <: t)to mean(fun x -> (e <: t)).Libraries
dm4free
Z3
--n_coresgreat again #146, Tomer working on this)Misc
positivity (Aseem, see strict positivity check #319) P1
interactive mode with interfaces (add
interfacekeyword) (Jonathan, seems almost done)default effect Tot P1 By Jan 15th (see Top-level effects and module pre- and post-conditions #143 and Behavior of inferred effect arguments without
val#581 and Very strange behavior of default effects #623 and Change the default effect to be Tot and namespace insensitive #705 andhttps://github.com/FStarLang/FStar/wiki/Top-level-effects) (Nik)
//val f (x:nat) : nat //f : x:nat -> Tot nat
let f x : nat = mk_ref 0; 0 ~~> let f x : DefaultEffect nat = ...
let f x = (fact y <: Pure nat (requires (y >= 0)) wp)
(e <: t) or (e <: M t wp)
(e <:: t)
confused
Post-release
Transforming syntax.term to ast.term (post release)
documented official concrete syntax (post-release)
switch to sedlex P3 (post-release)
Integer overloading using FStar.Integers ongoing (post-release)
Making the heap models uniform (Aseem) ongoing (post-release)
indexed effects (https://github.com/FStarLang/FStar/wiki/Indexed-effects) (post-release, Nik)
Polarities: subtyping for datatypes Polarities: subtyping for datatypes #65 ? (post-release)
F# compatibility (Meta Issue: problems with the F# version of F* (currently lagging behind the OCaml version) #746) P3 nice to have (post-release)
F* as a driver for the OCaml compiler P2 by February 15, 2017
Libraries: naming conventions (Towards a naming convention for the standard library? #687), import lemmas from Coq/Lean
Update Wiki: https://github.com/FStarLang/FStar/wiki/Editing-files-in-the-library