unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: Ian Grant <ian.a.n.grant@googlemail.com>
Cc: lightning <lightning@gnu.org>, guile-devel <guile-devel@gnu.org>
Subject: Re: Bug free programs
Date: Wed, 17 Sep 2014 13:29:34 -0400	[thread overview]
Message-ID: <87a95yp341.fsf@yeeloong.lan> (raw)
In-Reply-To: <CAKFjmdxbjbUqqr=GzPLeA_uT4nyRgpRBg23KGjNibwc-OLb+=w@mail.gmail.com> (Ian Grant's message of "Wed, 17 Sep 2014 09:35:02 -0400")

Hi Ian,

I'm going to try to ignore your gratutious and unfounded insults,
because I agree that the problem you are trying to solve is an important
one, and believe it or not, you'd be hard pressed to find anyone else in
the GNU project who worries about this issue as much as I do.

For example, on an internal GNU mailing list, I complained when GCC
switched to using C++ because it vastly increases the complexity of the
simplest compiler that's able to bootstrap it.

The reason is that for a few years now, I've very seriously considered
dedicating myself to developing a bootstrap procedure that starts with
raw machine code running on bare metal and ends with a working GNU
toolchain.

I've also considered more practical approaches such as: lock a
(preferably older) computer inside a Faraday cage to prevent
communication with the outside world, thus limiting the intelligence
that any Thompson virus can have, while I write a very simple and novel
C compiler that's capable of bootstrapping GCC and the rest of the
toolchain, and then printing the result to paper in a form that can be
scanned reliably -- a task I have some experience with, since I led the
development of the scannable PGP source code books that allowed PGP to
be legally exported from the US fo the first time, along with the tools
needed to convert the paper books back into electronic form with modest
effort.

Ian Grant <ian.a.n.grant@googlemail.com> writes:

> On Tue, Sep 16, 2014 at 11:27 PM, Mark H Weaver <mhw@netris.org>
> wrote:
>
>     Ian Grant <ian.a.n.grant@googlemail.com> writes:
>     
>     Are you suggesting that we compile our Scheme code to C, include
>     that
>     in our distribution, and then users would start by compiling that
>     (non-source) C code? If so, I'm surprised to hear you suggest
>     that,
>     given your concern over Thompson viruses (which I share,
>     incidentally).
>     A Thompson virus could be hiding in this intermediate C code that
>     would
>     be very hard to audit.
>
> Tell me, how did you compile your OS kernel and your glibc, ld.so, ld,
> as and gcc binaries? 

Yes, that's a very serious problem, but I don't want to make the problem
worse by adding yet another pile of intermediate C code that must be
taken on faith to be free of Thompson viruses.

>     I, for one, am very glad that unlike many self-hosting compilers,
>     Guile
>     is bootstrapped entirely from source code, with just one
>     exception:
>     psyntax-pp.scm is generated from psyntax.scm, but it's fairly
>     close to
>     the source code and quite readable. Incidentally, I put a great
>     deal of
>     effort into making sure it was readable.
>
> I can assure you that Guile is most certainly not bootstrapped
> entirely from source code. If you had understood any of the discussion
> about the problem you would know that there is not one single line of
> GNU source that has ever been bootstrapped from source code.

I understand that just fine.  It's obvious that to compile Guile, you
first need a C toolchain.  That's a separate problem, and indeed a very
serious one.

>     > See the thunder.pdf I sent when I first proposed this idea:
>     >
>     >
>     http://lists.gnu.org/archive/html/guile-devel/2014-08/msg00064.html
>     
>     If you want me to read it, can you please email it as plain text?
>
> No: because If you can't read a PDF then you can't read _any_ of the
> research papers you need to be able to read in order to stand the
> slightest chance of doing a decent job of developing any kind of
> software at all.

Wow.  Did you try telling that to RMS, who made the same suggestion?

I read plenty of PDFs.  They are inconvenient, but I suffer that
inconvenience on a regular basis, when I have reason to believe that I
might learn something new from them.  So far, not a single person has
recommended your paper to me except you, nor have I learned anything I
didn't already know from the emails you've written, at least not from
the prefixes of those emails that I've read before losing interest.

I'm not saying that you don't have something to teach me.  Maybe you do,
but if so, you must learn the art of capturing the interest of your
readers long enough to convince them that they should continue reading.

At present, you're in the position of having to convince me that you're
ideas are worth studying, not the other way around, and I suspect I'm
not alone.  It would help to tell me something I didn't already know, in
ASCII, as concisely as possible.

      Mark



  reply	other threads:[~2014-09-17 17:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-15 22:38 Bug free programs Ian Grant
2014-09-16  9:20 ` Bootstrapping Ludovic Courtès
2014-09-17  0:57 ` Bug free programs dsmich
2014-09-17  1:22   ` Ian Grant
2014-09-17  3:27     ` Mark H Weaver
     [not found]       ` <8738brsz82.fsf-Ir+b6ulHfbb+AlalS6MPSg@public.gmane.org>
2014-09-17 13:35         ` Ian Grant
2014-09-17 17:29           ` Mark H Weaver [this message]
     [not found]             ` <87a95yp341.fsf-Ir+b6ulHfbb+AlalS6MPSg@public.gmane.org>
2014-09-17 18:11               ` Ian Grant
2014-09-17 21:32                 ` Ludovic Courtès
     [not found]                   ` <87sijq2arb.fsf-mXXj517/zsQ@public.gmane.org>
2014-09-17 22:10                     ` Ian Grant
2014-09-17 21:57               ` Ian Grant
     [not found]                 ` <CAKFjmdwA31CsB_FLYuOLBfR6_DX5Qj+GUGnoMxwgrBryy4Uqtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-18  0:50                   ` Ian Grant
2014-09-17 16:15         ` Ian Grant
2014-09-18  9:28           ` Neil Jerram

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://www.gnu.org/software/guile/

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

  git send-email \
    --in-reply-to=87a95yp341.fsf@yeeloong.lan \
    --to=mhw@netris.org \
    --cc=guile-devel@gnu.org \
    --cc=ian.a.n.grant@googlemail.com \
    --cc=lightning@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.
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).