Subject: Re: Lisp is not an interpreted language From: Erik Naggum <nobody@naggum.no> Date: 1996/11/19 Newsgroups: comp.ai,comp.ai.genetic,comp.ai.neural-nets,comp.lang.lisp,comp.lang.c++,comp.os.msdos.programmer,comp.lang.asm.x86,comp.unix.programmer,comp.ai.philosophy Message-ID: <3057389535745514@naggum.no> * Casper H. S. Dik | So the lisp runtime system requires a interpreter/compiler. That is not | the case for languages in which it is not possible to create and/or | manipulate executable objects. first, you need to distinguish between the "runtime system" and "libraries". the _runtime_ system does not require an interpreter or compiler. the runtime system would include error handlers, the garbage collector, the function that was called by and returns control to the operating system and is responsible for setting up and tearing down all sorts of things, etc. second, if the program has a command language, it has an interpreter for another language embedded, and implements a micro-EVAL all of its own. third, if the program reads data files that have any non-trivial format, it implements the equivalent of READ, including lots of special-purpose code to it and lex/yacc tables. just because the functions are _not_ called READ, EVAL or COMPILE, doesn't mean they aren't there. a language doesn't have to have executable objects to run code not its own. any data-driven or table-driven implementation can be regarded as an interpreter. etc. just because you can see it by name in one language, and not in another, doesn't mean they differ in these important regards. it's been said that any sufficiently large programming system contains a Common Lisp struggling to get out. #\Erik -- Please address private replies to "erik". Mail to "nobody" is discarded.