Path: utzoo!attcan!cmtl01!matrox!uvm-gen!uunet!lll-winken!ames!mailrus!cornell!uw-beaver!mit-eddie!bu-cs!mirror!necntc!ima!compilers-sender From: ti-csl!csc.ti.com!pf@cs.utexas.edu (Paul Fuqua) Newsgroups: comp.compilers Subject: Re: Incremental compilers Message-ID: <3225@ima.ima.isc.com> Date: 25 Jan 89 15:50:04 GMT Sender: compilers-sender@ima.ima.isc.com Reply-To: Paul Fuqua Lines: 33 Approved: compilers@ima.UUCP In-Reply-To: Msg of 24 Jan 89 22:12:43 GMT from charlie@genrad.com (Charlie D. Havener) Date: Tuesday, January 24, 1989 4:12pm (CST) From: charlie at genrad.com (Charlie D. Havener) Subject: Incremental compilers I know the Lisp compiler on the Symbolics work station is incremental ... Incremental compilation on a Symbolics (or TI Explorer, or LMI Lambda) is made easier by using dynamic linking all the time, and by the fact that a compiled function is a first-class Lisp object like any other. To omit lots of details, the name of a function contains a pointer to the function itself. When you (re)compile a function, just replace the pointer with the new one. Other functions that call this one indirect through the name, so nobody has to be relinked to see the new definition. This handles function-by-function incremental compilation, not line-by-line, but I don't think you can do it to any finer grain than functions, or would want to. I think that Saber does the same sort of name-to-function association and indirection in their interpreter, but I don't know for sure. Paul Fuqua pf@csc.ti.com {smu,texsun,cs.utexas.edu,rice}!ti-csl!pf Texas Instruments Computer Science Center PO Box 655474 MS 238, Dallas, Texas 75265 -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU Plausible paths are { decvax | harvard | yale | bbn}!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