Re: The compilation approach in modern languages

nmm1@cus.cam.ac.uk (Nick Maclaren)
16 Feb 2005 20:49:36 -0500

          From comp.compilers

Related articles
The compilation approach in modern languages sgganesh@gmail.com (Ganny) (2005-02-11)
Re: The compilation approach in modern languages rbates@southwind.net (Rodney M. Bates) (2005-02-12)
Re: The compilation approach in modern languages sgganesh@gmail.com (Ganny) (2005-02-12)
Re: The compilation approach in modern languages bobduff@shell01.TheWorld.com (Robert A Duff) (2005-02-13)
Re: The compilation approach in modern languages cartazio@gmail.com (Carter Schonwald) (2005-02-13)
Re: The compilation approach in modern languages dot@dotat.at (Tony Finch) (2005-02-13)
Re: The compilation approach in modern languages gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-02-13)
Re: The compilation approach in modern languages nmm1@cus.cam.ac.uk (2005-02-16)
Re: The compilation approach in modern languages boldyrev@cgitftp.uiggm.nsc.ru (Ivan Boldyrev) (2005-02-16)
Re: The compilation approach in modern languages boldyrev+nospam@cgitftp.uiggm.nsc.ru (Ivan Boldyrev) (2005-02-16)
Re: The compilation approach in modern languages rbates@southwind.net (Rodney M. Bates) (2005-02-16)
Re: The compilation approach in modern languages gneuner2@comcast.net (George Neuner) (2005-02-16)
Re: The compilation approach in modern languages torbenm@diku.dk (2005-02-18)
Re: The compilation approach in modern languages dot@dotat.at (Tony Finch) (2005-02-18)
[9 later articles]
| List of all articles for this month |

From: nmm1@cus.cam.ac.uk (Nick Maclaren)
Newsgroups: comp.compilers
Date: 16 Feb 2005 20:49:36 -0500
Organization: University of Cambridge, England
References: 05-02-053 05-02-056 05-02-065
Keywords: functional, code

Tony Finch <dot@dotat.at> wrote:
>"Rodney M. Bates" <rbates@southwind.net> wrote:
>>
>>The one exception is the functional languages, where functions can be,
>>in effect, manipulated at runtime and then evaluated. Obviously, it
>>is too late then for a traditional batch compile, and something more
>>like interpretation is needed, at least some of the time.
>
>That is not true for most modern functional programming languages
>(i.e. ones not descended from lisp) which are designed to be compiled
>to native code. It is also true for non-functional languages that have
>an "eval" function, which includes many scripting languages.


Yes.


And the equally important (and largely older) class of application
languages. One amusing example here is Genstat - designed entirely
by statisticians, and interestingly unusual :-)


As far as this aspect goes, there are really four levels:


Ones with no general 'eval' operation.


Ones where 'eval' executes entirely within its own scope.


Ones where 'eval' can behave as a declaration.


Ones where 'eval' can change the syntax accepted by the compiler.


It is reasonable to say that languages that allow the last cannot
be compiled and must be interpreted :-)


Regards,
Nick Maclaren.


Post a followup to this message

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