Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!snorkelwacker.mit.edu!ai-lab!zurich.ai.mit.edu!markf From: markf@zurich.ai.mit.edu (Mark Friedman) Newsgroups: comp.lang.misc Subject: Re: A comment on language wars. Message-ID: Date: 11 Mar 91 16:04:16 GMT References: <7HY9P4G@xds13.ferranti.com> Sender: news@ai.mit.edu Reply-To: markf@zurich.ai.mit.edu Organization: M.I.T. Artificial Intelligence Lab. Lines: 42 In-reply-to: peter@ficc.ferranti.com's message of 7 Mar 91 16:00:16 GMT In article <7HY9P4G@xds13.ferranti.com> peter@ficc.ferranti.com (Peter da Silva) writes: In article markf@zurich.ai.mit.edu writes: > In article peter@ficc.ferranti.com (Peter da Silva) writes: > In fact, I don't see how a language that isn't interpreted nor object > oriented could be said to have first class functions. > Although it is true that most LISP (and Scheme) and purely functional > language implementations have interpretors available, there is no > dependency relation between that fact and the fact that they have > first class functions. Nor are most of those languages "object > oriented". I suspect that if you remove the explicit interpreter and examined the remaining language, I will still be able to point to a part of the language and say "that's the interpreter!". Why would you say that? That will be the part that takes a closure and executes it. In Forth terms, Lisp has an outer and an inner interpreter. Could you explain those terms. You might object that this is a Bernsteinian definition of "interpreter", but I think it is a distinguishing point between languages that have first class functions and those that don't. Maybe after I understand what you are saying I will object :-) -Mark -- Mark Friedman MIT Artificial Intelligence Lab 545 Technology Sq. Cambridge, Ma. 02139 markf@zurich.ai.mit.edu