Xref: utzoo comp.arch:6555 comp.lang.c:13253 comp.lang.misc:1986 Path: utzoo!attcan!uunet!husc6!mailrus!purdue!i.cc.purdue.edu!k.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.arch,comp.lang.c,comp.lang.misc Subject: Re: Machine-independent intermediate languages Summary: We need a semi-portable assembler Message-ID: <970@l.cc.purdue.edu> Date: 12 Oct 88 11:43:32 GMT References: <853@goofy.megatest.uucp> <831@etive.ed.ac.uk> Organization: Purdue University Statistics Department Lines: 29 In article <831@etive.ed.ac.uk>, db@lfcs.ed.ac.uk (Dave Berry (LFCS)) writes: > In article eric@snark.UUCP (Eric S. Raymond) writes: ..................... > C isn't the only language filling this niche. LISP is another. C is > presumably better for languages where efficiency is a prime concern, > and LISP for those requiring garbage collection, etc. The choice > is also affected by the availability of implementations for the desired > hardware; LISP would presumably be a better choice for a LISP machine. > > As an aside, I've heard both disparagingly described as "portable assemblers" > (and I've heard their proponents take that as a compliment). Neither C nor LISP can be described correctly as a portable assembler. A portable assembler should have the property that anything which the machine can do can be relatively easily described in the language in such a way that the resulting object code does what the programmer, understanding the machine instructions, timing, and limitations, wants it to do, and how he wants it done. Thus a portable assembler must be able to produce efficient versatile code. It should also be easy to write, with any construct that the programmer feels useful relatively easy to insert. I would find such a gadget very useful. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)