Hello Christian,

Responding more specifically to your KreMLin/Low* questions...

Most of the systems-level modeling in Low* is fairly primitive, as whatever 
little there is was only designed to support the creation of minimal tests or 
proof-of-concepts. As such, stdin was simply never added. Low* definitely needs 
proper systems libraries, but this is a big task, as it requires solving 
several library issues together: IO, but also a proper model of mutable and 
constant strings, etc.

That being said, you can roll out your own systems libraries in your own 
project without having to extend kremlib. Looking at tests/server or 
tests/hello-system in the kremlin repository, you should find some basics to 
help you get started with creating a "mini systems lib" for your project, with 
an F* interface and/or model, along with a C implementation. I'm happy to help 
on Slack with this.

Once you get something working, I would hope that we can go through a pull 
request, adding F* modules to ulib in the LowStar namespace. This would also be 
a good way to review and discuss together to make sure we come up with 
something compelling once it lands in ulib.

Hope this helps!


~ jonathan

________________________________
From: fstar-club <fstar-club-boun...@lists.gforge.inria.fr> on behalf of 
Christian Nyumbayire via fstar-club <fstar-club@lists.gforge.inria.fr>
Sent: Wednesday, January 9, 2019 6:41 PM
To: fstar-club@lists.gforge.inria.fr
Subject: [fstar-club] Noob questions

Hi,
I'm a programmer working in crypto (both cryptography and cryptocurrency). I've 
learned about KreMLin from the Hacl slides and youtube video. I got quite 
interested in FStar since then. I'm trying to learn more and figure out how I 
could use it on a daily basis (if possible/advisable). So far I can read the 
hacl mitls and I'm quite reassured that Meta FStar or things I still don't grok 
properly are not generally used. My public code is mostly in Rust. I have 
really a lot of questions but these ones are the most pressing:

  1.  What is the best way to extend the fstar library? I was thinking about 
I/O in particular.
  2.  Is there any reason there is no stdin in kremlib, even as a channel?
  3.  What is the proper way to extend kremlib? (I've seen the include)
  4.  Anyone working on a builder to supplant the actual use of Makefiles? E.g. 
in ocaml? Could be useful for a package manager in a second phase.
  5.  Anyone working on the docs?
  6.  Are there community groups for those and other tasks?

Quite a lot in retrospective...

All the best,
Christian Nyumbayire
_______________________________________________
fstar-club mailing list
fstar-club@lists.gforge.inria.fr
https://lists.gforge.inria.fr/mailman/listinfo/fstar-club

Reply via email to