Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cca!mirror!ima!johnl From: johnl@ima.UUCP Newsgroups: comp.compilers Subject: Re: machine independent executables Message-ID: <688@ima.ISC.COM> Date: Fri, 21-Aug-87 11:56:34 EDT Article-I.D.: ima.688 Posted: Fri Aug 21 11:56:34 1987 Date-Received: Sun, 23-Aug-87 12:14:59 EDT References: <660@ima.ISC.COM> Sender: johnl@ima.ISC.COM Reply-To: faccs!dbt (Data base translator ) Organization: Boeing Computer Services, Seattle Lines: 35 Approved: compilers@ima.UUCP Summary: Scheme as an intermediate code In article <660@ima.ISC.COM>, johnl@ima.UUCP writes: > There has been a discussion on comp.unix.wizards about multiple machine > executables ... In MIT AI Memo 379, Guy Steele made the case for Scheme (i.e. essentially the lambda calculus) as an appropriate intermediate code. The argument is that an intermediate code should not try to model the imperative nature of the machines, that that is too low-level. Instead, what Scheme offers is a 'low-level' model of control-flow (if, goto) and environment/renaming (lambda) that is the essential common denominator and yet completely independent of *any* particular machine. In addition, it is relatively easy to write a portable interpreter for Scheme (they already exist, e.g. MIT Scheme is in 'portable' C) and there are good compilers available on a wide variety of machines ('T', from Yale is excellent and is only $200). Compare this to the task of developing yet another compiler and designing the intermediate code just to get a project off the ground. A lot of issues would still remain, but it seems to me a good starting point. I would be interested in discussing this further or elaborating on the advantages of Scheme. [Scheme is as good an intermediate language as any, but the T compiler, like most Lisp compilers, generates code to be added into a running T environment rather than a standalone program to take away. Also, it doesn't help the nitty-gritty issues like alignment and byte order. -John] -- Wage Peace, Patrick Logan (dbt@faccs) uw-beaver!ssc-vax!shuksan!tahoma!bcstec!faccs -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request