Re: Idle musings on doing E over again

Kevin Reid <kpreid-M/[email protected]> Thu, 11 Oct 2012 08:22:35 -0700
Newsgroups gmane.comp.lang.e.general
Message-ID <[email protected]>
On Oct 11, 2012, at 7:41, Ben Laurie wrote:
> On 11 October 2012 15:33, Kevin Reid <kpreid-M/[email protected]> wrote:
>> In the case of something like LLVM, I'm not sure what I'd choose for a bootstrap. I don't care for fully self-hosting systems that require bootstrap binaries and constrain system changes to incremental ones.
> 
> You lost me :-)

If the only implementation of a language is a compiler written in that language, then:

* The compiler must have already been compiled, so you have a necessary
  artifact which is not source text, which raises version control
  issues (and Ken Thompson issues).

* In order to modify the language L into L', you must modify the
  compiler to compile L' while being written in L, and also to compile
  L' while being written in L', then compile the latter with the former,
  (For small changes, these two compilers might happen to be the same.)

In order to avoid these issues, there must be an implementation of the language written in a different language.

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>