Path: utzoo!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!sdd.hp.com!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!think.com!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: 12 Mar 91 20:15:09 GMT References: <2400032@otter.hpl.hp.com> Sender: news@ai.mit.edu Reply-To: markf@zurich.ai.mit.edu Organization: M.I.T. Artificial Intelligence Lab. Lines: 30 In-reply-to: peter@ficc.ferranti.com's message of 11 Mar 91 17:09:06 GMT In article peter@ficc.ferranti.com (Peter da Silva) writes: In article <2400032@otter.hpl.hp.com> sfk@otter.hpl.hp.com (Steve Knight) writes: > The "trick" to avoiding the necessity of an interpreter for a > procedure in a dynamically-typed system is as follows. [...] In > Poplog, this is done by the simple expedient of placing [type, > lengthe, etc] "before" the procedure pointer. You look up the type and make a decision based on what's there? That's an interpreter. Forth does the same thing, but puts the type information after the procedure pointer. But the type and length information is only necessary for the garbage collector (which I will admit is an interpreter in a very loose sense). It is not necessary for the running of the procedure. One could in principle build a non-gc version of the system which did not require that information. -Mark -- Mark Friedman MIT Artificial Intelligence Lab 545 Technology Sq. Cambridge, Ma. 02139 markf@zurich.ai.mit.edu