Xref: utzoo comp.lang.c++:2145 comp.lang.c:14424 comp.lang.forth:692 comp.lang.fortran:1559 comp.lang.misc:2232 comp.arch:7391 Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!purdue!decwrl!labrea!csli!gandalf From: gandalf@csli.STANFORD.EDU (Juergen Wagner) Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.forth,comp.lang.fortran,comp.lang.misc,comp.arch Subject: Re: Assembly or .... Message-ID: <6613@csli.STANFORD.EDU> Date: 30 Nov 88 21:23:19 GMT References: <1388@aucs.UUCP> <729@convex.UUCP> <1961@crete.cs.glasgow.ac.uk> <6529@june.cs.washington.edu> <1031@l.cc.purdue.edu> <1989@crete.cs.glasgow.ac.uk> <32354@think.UUCP> Reply-To: wagner@arisia.xerox.com (Juergen Wagner) Organization: Center for the Study of Language and Information, Stanford U. Lines: 37 In article <32354@think.UUCP> barmar@kulla.think.com.UUCP (Barry Margolin) writes: >... >How about if the compiler saved the answers in the program text as >explicit ADVICE statements? The compiler becomes a simple form of >Programmer's Apprentice, helping the programmer determine where >potential optimizations can be specified. The decisions become >documented, and they don't have to be repeated. If you have such a sophisticated compiler, that would be more a tool for automated program generation than a compiler in the classical sense. Such a tool could also be fed with a pure declarative specification of what you intend to do, and it should have knowledge about all optimizations for the architectures you're going to run that program on. Of course, if you learn something really nifty about optimizing code, you would like to tell that "compiler" to use the new technique with your code. I guess, this comes close to what some LISP environments offer, where you can modify the compiler if you don't like it the way it is. In such an environment, the programmer should not only have the opportunity to choose between alternatives the compiler already knows, but also to introduce new specialized strategies for certain applications. A major problem would then be consistency of the resulting system... If I had to use such a tool in the C environment, I would certainly ask for incremental compilation, too. It is a pain in the neck if you have to recompile and relink some of your modules every time you are changing a single character in a function. Hmm... I guess, I am shifting to the more general question of suitable software development environments for C or other languages... 'nuff said. -- Juergen Wagner gandalf@csli.stanford.edu wagner@arisia.xerox.com