From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <451afecd4b766ece5d0d055057cb8453@coraid.com> References: <86ipx4s36p.fsf@cmarib.ramside> <86ei7ry76s.fsf@cmarib.ramside> <86zkqf46vz.fsf@cmarib.ramside> <86mxmfuiep.fsf_-_@cmarib.ramside> <451afecd4b766ece5d0d055057cb8453@coraid.com> Date: Wed, 2 Feb 2011 10:30:19 -0800 Message-ID: From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=0016e644d08a5f3fd0049b50d7e8 Subject: Re: [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Topicbox-Message-UUID: a878db10-ead6-11e9-9d60-3106f5b1d025 --0016e644d08a5f3fd0049b50d7e8 Content-Type: text/plain; charset=ISO-8859-1 On Wed, Feb 2, 2011 at 10:03 AM, erik quanstrom wrote: > > Where did your C compiler come from? Someone probably compiled it with a > C > > compiler. Bootstrapping is a fact of life as a new compiler can't just > be > > culled from /dev/random or willed into existence otherwise. It takes a > plan > > 9 system to build plan 9 right? (This was not always true for infinitely > > recursive reasons) > > ah, but where did your go compiler come from? > > - erik > > Well my Go compiler came from a plan 9 C compiler that came from a gcc compiler, that came from the operating system distribution CD that shipped with Mac OS X. Someone at apple presumably bootstrapped that gcc build for Mac OS X from another GCC build for Mac OS X, and that one probably goes back to some version of OpenStep, all the way back to NeXTStep, and before that some version of Unix most likely that bootstrapped NeXTStep. A lot of that lineage was a guess. It's really difficult, for instance, to bootstrap the GHC (Haskell) compiler from the intermediate C files it generates these days, and you pretty much need a port of Haskell to your platform in order get a port of haskell to your platform. It's a bit of an undocumented black art as far as I can tell, but it was supposed to be simpler :-). Many lisp compilers/systems need a lisp compiler or system in place in order to bootstrap them too. Dave --0016e644d08a5f3fd0049b50d7e8 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Wed, Feb 2, 2011 at 10:03 AM, erik qu= anstrom <q= uanstro@labs.coraid.com> wrote:
> Where did your C compiler come from? =A0Someone prob= ably compiled it with a C
> compiler. =A0Bootstrapping is a fact of life as a new compiler can'= ;t just be
> culled from /dev/random or willed into existence otherwise. =A0It take= s a plan
> 9 system to build plan 9 right? =A0(This was not always true for infin= itely
> recursive reasons)

ah, but where did your go compiler come from?

- erik

Well my Go compiler came from a plan 9 C compiler= that came from a gcc compiler, that came from the operating system distrib= ution CD that shipped with Mac OS X.

Someone at apple pr= esumably bootstrapped that gcc build for Mac OS X from another GCC build fo= r Mac OS X, and that one probably goes back to some version of OpenStep, al= l the way back to NeXTStep, and before that some version of Unix most likel= y that bootstrapped NeXTStep.

A lot of that lineage was a guess. =A0It's really d= ifficult, for instance, to bootstrap the GHC (Haskell) compiler from the in= termediate C files it generates these days, and you pretty much need a port= of Haskell to your platform in order get a port of haskell to your platfor= m. =A0It's a bit of an undocumented black art as far as I can tell, but= it was supposed to be simpler :-).

Many lisp compilers/systems need a lisp compiler or sys= tem in place in order to bootstrap them too.

Dave<= /div> --0016e644d08a5f3fd0049b50d7e8--