-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improving the usability of F* (master issue!) #614
Comments
What are the Low* libraries ? Are FStar.HyperStack, FStar.HST and FStar.Buffer part of it ? |
I would say: at least machine integers and buffers. Unclear about HST... maybe. |
I think that the machine integers are independent from Low*. They define native OCaml integers for instance. |
Maybe rename it Machine then? From the discussion with @KAepora, the goal was to group modules that "belong together" under a common namespace. It feels to me like machine integers, buffers, hst all talk about very concrete concerns, and should be grouped together... @KAepora happy to have your opinion on this |
So the standard library will no longer be unified under the |
There's nothing here that implies that the standard library would no longer be unified under
To make this more concrete, the aim is to group modules first by functionality and then by use-case: Notice that this goes against organizing the libraries based on their internal codenames. I would recommend against organizing things in the format If we follow my suggested approach, we obtain a namespace that is intuitive to programmers, that helps establish standards that allow us to keep an eye on implemented functionality so that things don't get reimplemented several times. |
@KAepora can you suggest a consistent naming scheme for the modules in ulib? happy to implement any good suggestions |
Can we add to this list a way to have a monad agnostic IO for debugging code ? |
Is
|
Now that we have universes we could theoretically implement a perfectly dependent printf, except that the normalizer would have to be able to reduce functions on strings. |
Speaking about |
I think the root issue is that with universes, both |
More specifically, the parser doesn't distinguish between types and terms; there's a cascade of precedence levels, and somewhere in the cascade is
If we had |
Catalin: discussion moved to separate issue (#770) about POPL release. |
On the topic of z3, would that just require calling z3 with memory_max_alloc_count and rlimit flags, or is there something more elaborate needed? |
@A-Manning It's indeed "only" a matter of setting |
admit
" strategy, and general pitfalls when starting with F* (e.g. z3 does not report the first error)unknown assertion failed because no, confusion if nonoeq
open FStar_Mul
, etc.)fstar --compile
which takes care of extracting + calling ocaml with the right voodoo (e.g. running the right make command in ulib/ml depending on --use_native_int and whether HyperHeap is used or not) and right cmxaFstar.Mul
problem by switching to a unicode lexer and advertising × everywhere[Update 2016-11-22] Tahina added more tasks in a comment below #614 (comment)
[Update 2016-11-22] Catalin: moved that discussion to separate issue (#770) about POPL release.
The text was updated successfully, but these errors were encountered: