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