Newsgroups: comp.arch
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: Software Distribution
Message-ID: <1988Sep7.210317.5781@utzoo.uucp>
Organization: U of Toronto Zoology
References: <1988Aug29.202603.13897@utzoo.uucp> <963@esunix.UUCP>
Date: Wed, 7 Sep 88 21:03:17 GMT

In article <963@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes:
>... Have you looked at the Ada Intermediate
>Language? I can't claim I've taken a close look, but it looks like the
>sort of thing we can expect to see.

I saw some of the earlier stuff leading into it, but haven't looked at
AIL itself.

>> (Of course, this is
>> anathema to the Stallmanites...  Don't expect GNU to support such a
>> portable distribution form.)
>
>Why not?

Distribution with sources is Good.  Distribution without sources is Evil.
It's as simple as that.  GNUnix might include something to handle such a
form if it were truly universal, but this would be in the spirit of
grudging adaptation to an unpleasant reality.  Making it easier to send
out software without source is precisely what Stallman does *NOT* want.

>> This new flexibility also opens the door to a whole new range of bugs,
>> since the code can now be run on machines which the author never even
>> compiled it on.
>
>Yep, look at the Ada experience for perspective on this problem. Thats
>why I described declarations in the intermediate form as constraints.
>The intermediate form is going to have to be full of constraints. If
>the program has a bunch of declarations that require 36 bit ones
>complement integers, you can be sure that it will run very slowly on a
>68020. But, you can make it run without error if those contraints are
>available to the target machine code generator...

You miss my point.  36-bit ints can be dealt with in the software fairly
well.  What I'm thinking of is much more subtle things that the compiler
can't easily discover and put in the intermediate form, e.g. "this program
depends on being able to dereference NULL pointers".  Or, for that matter,
"the details of the arithmetic in this program assume that integers are
at least 36 bits".  This is the sort of thing that will not be known to
the compiler unless the programmer is explicit about it -- and lack of
programmer attention to such details is exactly the problem.
-- 
Intel CPUs are not defective,  |     Henry Spencer at U of Toronto Zoology
they just act that way.        | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
