unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: guix-devel@gnu.org
Subject: Re: [Proposal] The Formal Methods in GNU Guix Working Group
Date: Mon, 16 Dec 2019 09:47:55 +0100	[thread overview]
Message-ID: <141B1FAE-6518-4E0C-8E69-C96BCB540545@lepiller.eu> (raw)
In-Reply-To: <87tv616q5s.fsf@posteo.net>

Le 16 décembre 2019 01:59:59 GMT+01:00, Brett Gilio <brettg@posteo.net> a écrit :
>Hello Guix!
>
> ...
>
>What follows is proposals for some of the work to be done by this
>working group:
>
>-- A lot of proof assistants are based on dialects of ML. Most of these
>   use SMLnj or MLton for their work. To date there is an issue of
>   source-based bootstrapping of _all_ of the major ML compilers. We do
>  have PolyML in our repositories, but even this uses space-inefficient
>   text file blobs for compiling and is not a fully C-based source
>   bootstrap. Basically, all of the ML compilers rely on some distinct
>   pre-compiled something-or-other to get to their pristine state. I
>   have explored the idea, along with Leo and Amin, about following in
>the tradition of MES (and mrustc) and starting an analogous GNU project
>for
>   writing a reduced-size specification ML bootstrapping compiler. That
>   way we can end the loop of a source-based build of ML97 compilers
>   being basically impossible.
>   [See issues #38605 & #38606 on DEBBUGS. Also, see
>   https://github.com/MLton/mlton/issues/350.]
>
>-- Begin adding more projects that are important works in the formal
>methods community. We have Coq, Idris, and Agda, but there is a lot of
>work
>   to be done on keeping these projects not only up-to-date but also
>   adding subprojects that use these toolchains. For example: C Minor,
>   Metamath, Ynot, Formally verified Featherweight Scala, RustBelt,
>   RedPRL, NuPRL, JonPRL, HOL/Isabelle, F*, kreMLin, CakeML, tons of
>   various type checkers based on OCaml, Alloy, Frama-C, TLA+, Liquid
>   Haskell, extensions to Z3, and tons more!

OCaml stuff can easily be imported with guix import opam. I know coq packages use a separate opam repository, so it would be nice if the importer could take an optional parameter to indicate a custom opam repository url. I'm not sure the coq repo is converted to opam 2 yet though.

>-- Possibly begin formally verifying some of the behavior and
>   implementations of GNU Guix and GNU Guile. This is kind of an add-on
>   idea, but it struck our interest so why leave it out?
>
>-- Begin giving talks on the benefits of GNU Guix at conferences around
>   Homotopy Type Theory, Coq, Formal Verification, Deepspec, etc.

I can see the benefits of formal methods and benefits of guix, but what does guix provide or could provide to formal method people specifically? Is it "only" the nice guarantees it gives to any programer, or is there something else? Maybe the question is why does it matter more to fm people than to other programmers?

>All of this seems really nice and impressive, but what is it without
>getting some feedback from the community? I'd _really_ love to hear
>your
>thoughts, experiences, and more on this working group idea and other
>working groups to avoid pitfalls. Maybe we should have a secondary
>#guix-fm channel on IRC? There is definitely a lot of work to be done
>here, and we will need some form of organizational structure to keep
>the
>work consistent and neatly integrated with the goals and purposes of
>GNU
>Guix.

I think we're still a small community, so we can continue talking about it on the main channel. We're trying to avoid dividing information, that's why we allow any language on tge channel, instead of having separate chans for each language. We also always hear about bootstrapping or the hpc effort on the main channel. Let's talk about fm :). You can count me in.

>I hope to hear from the community.
>
>Thanks,

  reply	other threads:[~2019-12-16  8:48 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-16  0:59 [Proposal] The Formal Methods in GNU Guix Working Group Brett Gilio
2019-12-16  8:47 ` Julien Lepiller [this message]
2019-12-16  9:22   ` Julien Lepiller
2019-12-17  3:29     ` Brett Gilio
2019-12-27 18:56     ` Ludovic Courtès
2019-12-27 22:33       ` Brett Gilio
2019-12-27 23:37         ` Ludovic Courtès
2019-12-28  2:59           ` Brett Gilio
2019-12-30 21:34             ` Ludovic Courtès
2019-12-31 10:17               ` Brett Gilio
2020-01-02 22:11                 ` Ludovic Courtès
2020-01-03 23:49                   ` Amin Bandali
2020-01-15 21:59                     ` Ludovic Courtès
2020-01-13 19:27                   ` Maxim Cournoyer
2019-12-28  7:20           ` Amin Bandali
2019-12-28 11:28             ` Vicente Eduardo
2019-12-29  8:09               ` Jan Nieuwenhuizen
2019-12-17  3:27   ` Brett Gilio
2019-12-16 19:46 ` zimoun
2019-12-16 20:10   ` Julien Lepiller
2019-12-17  3:40     ` Brett Gilio
2019-12-27 23:56     ` Ludovic Courtès
2019-12-28  2:55       ` Brett Gilio
2019-12-17  3:38   ` Brett Gilio
2019-12-16 23:04 ` Jack Hill
2019-12-17  1:33   ` John Soo
2019-12-17  3:49     ` Brett Gilio
2019-12-17  3:48   ` Brett Gilio
2019-12-21  6:48 ` Amin Bandali
2019-12-21 23:59   ` Brett Gilio
2019-12-28  0:02     ` Ludovic Courtès
2019-12-27 23:54 ` Ludovic Courtès
2019-12-28  3:06   ` Brett Gilio
  -- strict thread matches above, loose matches on Subject: below --
2020-01-23 19:17 Alexandru-Sergiu Marton
2020-02-12 12:02 Orians, Jeremiah (DTMB)
2020-02-12 14:16 ` zimoun
2020-02-12 14:38   ` Svante Signell
2020-02-12 14:48     ` Jan Nieuwenhuizen
2020-02-12 20:59   ` Bengt Richter
2020-02-13 12:13     ` Orians, Jeremiah (DTMB)
2020-02-13 12:07   ` Orians, Jeremiah (DTMB)
2020-02-15 16:10     ` zimoun
2020-02-18 11:17       ` Orians, Jeremiah (DTMB)
2020-02-21 14:47         ` zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=141B1FAE-6518-4E0C-8E69-C96BCB540545@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).