Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!iuvax!pur-ee!uiucdcs!uxc.cso.uiuc.edu!uxe.cso.uiuc.edu!mcdonald From: mcdonald@uxe.cso.uiuc.edu Newsgroups: comp.lang.c Subject: Re: Variable function names Message-ID: <47000027@uxe.cso.uiuc.edu> Date: 18 Dec 87 15:33:00 GMT References: <973@russell.STANFORD.EDU> Lines: 40 Nf-ID: #R:russell.STANFORD.EDU:973:uxe.cso.uiuc.edu:47000027:000:1713 Nf-From: uxe.cso.uiuc.edu!mcdonald Dec 18 09:33:00 1987 me: >[Re generating code at runtime: (*(int (*)())&array[0])()] >I have since learned that on some systems ... it won't work, and that ANSI C >does not require it to work (A FATAL FLAW). BUT, on all the machines that I >regularly use ... it does work Karl W. Z. Heuer: So, it's a FATAL FLAW that ANSI C has to work on machines other than the ones you regularly use? Gimme a break. Me again: Yes, I really mean it. I can't see why it cannot be specified to be generally useful. I realize that, somewhere, there might be a machine that CAN'T, realy, truly CAN'T, do what I want, but I have never seen one described to me. There are machines where the architecture or the operating system makes it hard, or not the default, but not impossible. The language specifiers should put it in the language. Then, if a particular machine simply can't do it, their C compiler would be sold with an asterisk * * due to the stupid blunder we made when we decided on this machine's architecture, it is impossible for us allow you to write an incremental compiler. Therefore, we are unable to produce a completely implemented compiler. So sorry. By fatal flaw, I mean that it is fatal to my programs. A substantial fraction of the programs I have written for the IBM-PC are in fact dependent on being incremental compilers. It is also fatal to the claim that C is a general purpose language. It wouldn't matter in special- purpose languages like Fortran or Cobol. Again, I would be perfectly happy if you had to declare specifically that you wanted code and data to be co-accessible. Could you give me an example of a machine where this would be impossible? (perhaps some hard-wired Lisp processor ?) Doug McDonald