Re: Why context-free?

nmm1@cus.cam.ac.uk (Nick Maclaren)
1 Nov 2005 00:19:24 -0500

          From comp.compilers

Related articles
[26 earlier articles]
Re: Why context-free? wyrmwif@tsoft.org (SM Ryan) (2005-10-26)
Re: Why context-free? henry@spsystems.net (2005-10-26)
Re: Why context-free? nmm1@cus.cam.ac.uk (2005-10-27)
Re: Why context-free? dot@dotat.at (Tony Finch) (2005-10-27)
Re: Why context-free? nmm1@cus.cam.ac.uk (2005-10-29)
Re: Why context-free? henry@spsystems.net (2005-10-29)
Re: Why context-free? nmm1@cus.cam.ac.uk (2005-11-01)
Designing vs. Implementing, Was: Why context-free? Juergen.Kahrs@vr-web.de (=?ISO-8859-1?Q?J=FCrgen_Kahrs?=) (2005-11-01)
Re: Designing vs. Implementing, Was: Why context-free? nmm1@cus.cam.ac.uk (2005-11-02)
Re: Designing vs. Implementing, Was: Why context-free? Juergen.Kahrs@vr-web.de (=?ISO-8859-1?Q?J=FCrgen_Kahrs?=) (2005-11-04)
| List of all articles for this month |

From: nmm1@cus.cam.ac.uk (Nick Maclaren)
Newsgroups: comp.compilers
Date: 1 Nov 2005 00:19:24 -0500
Organization: University of Cambridge, England
References: 05-10-053 05-10-061 05-10-062 05-10-200
Keywords: design, parse
Posted-Date: 01 Nov 2005 00:19:24 EST

Henry Spencer <henry@spsystems.net> wrote:
>Our moderator writes:
>>...As far as extending the syntax on the fly, that avenue was
>>extensively investigated in the 1970s in languages like IMP-72 and
>>EL/1, all of which died. We discovered that if you can write every
>>program in a slightly different language, six months later you won't
>>remember what each language was and you won't be able to read any of
>>them...
>
>In a recent interview, Alan Kay suggested that while extensibility
>*is* useful, there should be "a fence to hop" to get into
>extension-writing mode. His observation is that even the best
>programmers tend to do a very bad job on extension design when they're
>doing it as part of a programming project, because the desire to get
>on with the project discourages the careful thought that makes good
>extensions.


Yes, indeed. However, even defining types is extending the language,
and the fence is usually very low. The reason that works is that the
extensions are very constrained.


>This fits with something I've observed in the past: building a
>library and building a program are two different jobs, which often
>want to use somewhat different sets of language features.


Again, quite. As someone with quite a lot of experience in designing
and implementing libraries and run-time systems, my belief is that few
language designers, compiler writers and operating system designers
either understand the issues or even attempt to provide the facility
to design and implement a decent third-party library or run-time
system.


It could be done, but it does involve a change in mind-set.


Regards,
Nick Maclaren.


Post a followup to this message

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