Path: utzoo!utgpu!water!watmath!clyde!att!ucbvax!decwrl!megatest!djones
From: djones@megatest.UUCP (Dave Jones)
Newsgroups: comp.lang.c
Subject: Re: Partial application in C
Message-ID: <619@goofy.megatest.UUCP>
Date: 24 Jun 88 19:32:22 GMT
References: <3353@cognos.UUCP>
Organization: Megatest Corporation, San Jose, Ca
Lines: 23


From article <3353@cognos.UUCP>, by jimp@cognos.uucp (Jim Patterson):
> there are machines that don't allow you to execute data as
> code.

So this guy goes to the doctor, see, and he wiggles his arm and
says, "	Doc, my arm hurts when I do this."  So the doctor says,
"Then don't *DO* that!"

When I published a runtime linking loader a while back, there were
some who mentioned that on some machines you could not "execute data."
My immediate reaction was to say, "Then don't *USE* those kinds of machines!"

But of course, you may have to.  It's good to know that the restriction
exits, although I will continue to use dynamic loading, because I
have applications that absolutely scream for it.

I began to wonder why such a restriction might be deemed necessary.
Was it Big Brother engineering?  -- Thou shalt not modify thy
executable, for it is a Bad Thing. -- Or is there a valid technical
reason behind it?  I can see one possible rationale: You can have 128KB of 
memory in a sixteen bit machine, divided evenly between data and code,
if you use all the addresses for both kinds of memory.