[bitc-dev] BitC status update

Jonathan S. Shapiro shap at eros-os.org
Tue Sep 6 12:09:36 EDT 2005


On Tue, 2005-09-06 at 06:31 -0700, Richard Uhtenwoldt wrote:

> this may seem a strange "need": why can't the silly Linux type
> simply download a binary of GHC (available for all the major
> platforms)?  well, there's a growing ethic that the installation
> process should always begin with source code.
> 
> this is of course a subset of the ethic that says that
> all the software installed on one's machine should be
> open source.
> 
> Linux From Scratch and Gentoo are two manifestations of this
> ethic.

Apologies to Richard, but this characterization of the rationale is
flatly wrong.

The problem is that you often *can't* download and run an existing
binary. Either there isn't one for your platform, or some required
shared library is unavailable, or there is some other versioning issue
of this sort.

The issue is not that you want to build from source either -- though
there are many people to whom that is important.

The issue is that you *need* to be able to build successfully in an
environment where a running compiler just isn't available. I cannot say
how many old LISP/Scheme implementations died because they didn't
satisfy this requirement.

> Looks like BitC is headed for a build process that is at least
> as intricate as GHC's, which could years down the road severely
> crimp its mindshare on the open-source platforms.

Absolutely not! We will continue to maintain a back-end that targets C,
and this is one reason that I will NOT target C--. The C backend does
not need to be fast; it simply needs to bootstrap the compiler itself.
Alternatively, a bytecode interpreter implemented in C could also
satisfy this need.

My expectation is that every version of BitC will ship with an included
tree of portably generated C code. If you already have a BitC binary,
great. If you don't, but you have a C compiler, you should be able to
bootstrap. If you don't have a C compiler, then you can use the toggle
switches...

shap



More information about the bitc-dev mailing list