Re: Need info on incremental compilers.

reinder@neuretp.biol.ruu.nl (Reinder Verlinde)
28 Dec 1995 12:03:43 -0500

          From comp.compilers

Related articles
Need info on incremental compilers. march@iis.nsk.su (1995-07-31)
Re: Need info on incremental compilers. Steve_Kilbane@cegelecproj.co.uk (1995-08-04)
Re: Need info on incremental compilers. bill@amber.ssd.hcsc.com (1995-08-14)
Re: Need info on incremental compilers. reinder@neuretp.biol.ruu.nl (1995-12-28)
Re: Need info on incremental compilers. stefan.monnier@lia.di.epfl.ch (Stefan Monnier) (1995-12-30)
Re: Need info on incremental compilers. reinder@neuretp.biol.ruu.nl (1996-01-12)
| List of all articles for this month |

From: reinder@neuretp.biol.ruu.nl (Reinder Verlinde)
Newsgroups: comp.compilers
Date: 28 Dec 1995 12:03:43 -0500
Organization: Rijksuniversiteit Utrecht
References: 95-08-027
Keywords: incremental

march@iis.nsk.su (Mark Marchukov) wrote:


> Hi all!
>
> I would appreciate any pointers to info about incremental compilers:
> books, articles, ftp-able information. I am particularly interested
> in the environments that support incremental compilation of
> procedural languages such as C and Pascal.


You could take a look at Apple Dylan (dynamic language).


  + dynamic object oriented language (whatever that may mean)
  + infix syntax, looks somewhat procedural from the outside. At the
      inside, however, it looks more like SmallTalk or Lisp
  + incremental compiler
  + Language reference manual available on-line
      (start searching from http://www.apple.com, or read comp.lang.dylan)
  + people say that the programming environment is very cool
  + cheap ($40 for language + printed documentation)
  - only one interactive environment available, and it runs on Macs
  - not supported (effectively a beta let loose on the public)
  - needs lots of memory (24MB or so)
  - does not run native on PowerMac (but will in about a year)
  - environment not very fast. Haven't heard anything about generated
      code, yet, but Dylan is designed to produce fast code.


> I am also interested in people's opinions on incremental compilation
> in general.
>
> 1) Are there faster alternatives to the classic edit--compile--link--run
> procedure other than incremental compilation and interpreters?


I don't think so. You need either a compiler or an interpreter to run
a program. If your compiler is really fast, you could simply compile
everything, and for some languages that might even be faster for some
programs (C comes to mind; I bet the obfuscated C experts can come up
with a program for which determining which files need to be recompiled
is very difficult)


Weirdo exception: editing in hex or assembly, using a monitor, thus
changing the code 'on the fly'. No recompilation needed, running
programs can be edited, etc.


Also, many Lisp's and Dylan might be exceptions, depending on your
definitions of 'incremental compilation' and 'linking'.


> 2) Do we need such alternatives at all?


It depends on whay you call 'need'.


    Q: Does one need an editor write programs?
    A: No. Simply use 'cat > file' and type the source, or use a card puncher.


If you want to develop good programs fast, it might be beneficial to
improve on the classic cycle. However, a fast compiler also helps a
lot.


I think more can be gained from making the user experience
interactive, allowing such things as changing programs while they are
running. This allows rapid bug-fixing.


In summary:


Who cares whether the compiler is incremental, or whether you are
running an interpreter? As long as the system is fast and useful I
would not care if the system recompiled every source file twice after
every keystroke I typed.


Reinder Verlinde
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.