Path: utzoo!news-server.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!sacral.cis.ohio-state.edu!welch From: welch@sacral.cis.ohio-state.edu (Arun Welch) Newsgroups: comp.lang.scheme Subject: Re: To Lisp, or not to Lisp; that is the question. Message-ID: Date: 11 Mar 91 14:11:11 GMT References: <9103080432.AA06368@kolyma> <455@data.UUCP> Sender: news@tut.cis.ohio-state.edu Organization: OSU-LAIR Lines: 33 In-reply-to: kend@data.UUCP's message of 9 Mar 91 17:29:36 GMT From: kend@data.UUCP (Ken Dickey) >jonl@lucid.COM (Jon L White) writes: >>but I too would have added: >> 0. incremental "on-the-fly" definition and re-definition capabilities > >A small, but important clarification: let's seperate "language" and >"programming environment" issues. Compilation, loading, debugging, >system build, etc. are very important for usability but are not part >of a programming language. Very rarely are standard interfaces to >programming environment services even defined 8^(. Incremental definition and re-definition might be used heavily by the environment, but some of us depend on them being part of the language too. Most of our larger systems (and a fair number of our smaller ones) build functions and data structures on the fly and evaluate/compile them on the fly too. Having these part of the language definition is why Lisp has been used so much in AI. For example, it's not unusual to generate a mapping function for MAPCAR, or to generate a class definition, make instances of the class, and run the program based on that class. Or, for a more concrete example, an interface builder I wrote for an early version of CLIM generated code, which the user typically ran while debugging the interface, at the end of which those data structures were converted back into human-readable (OK, mostly human-readable, no one can read gensyms :-) form for saving out. It would have been impossible/very difficult to do without incremental definition, instead it took only about 2 weeks from prototype to system. ...arun ---------------------------------------------------------------------------- Arun Welch Lisp Systems Programmer, Lab for AI Research, Ohio State University welch@cis.ohio-state.edu