Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp Subject: Re: So who's really using LISP? Message-ID: <4143@skye.ed.ac.uk> Date: 15 Feb 91 17:00:53 GMT References: <1227@culhua.prg.ox.ac.uk> <1991Feb11.204514.19880@Neon.Stanford.EDU> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Distribution: comp Organization: AIAI, University of Edinburgh, Scotland Lines: 53 In article pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: >jinx> The real question is what the expressive power of the language is >jinx> and whether Scheme "gives up" some of Common Lisp's expressive >jinx> power. I don't think the answer is clear. > >I beg to disagree. To my it is *clear* that the expressive power of >Scheme, with all the options, is superior to that of CL, as Scheme can >do things that CL cannot do in any way. What Scheme has that CL lacks is (full) call/cc and the exact/inexact distinction for numbers. Or is there something else I'be forgotten. Here are some things I can do in CL but not scheme. I don't think it matters that much whether they're part of expressive power or not. 1. Macros (soon to be fixed). 2. Definition of a new, distinct data type. 3. Eval. > Note that I am not saying that >Scheme can do everything that CL can do *in the same way*; some >rewriting may be needed. But there are things that Scheme can do that CL >cannot do under any rewriting. Well, you can do a rewriting to get call/cc. It's not a simple rewriting, but it's a rewriting. (I'm thinking of CPS conversion.) >jinx> I am firmly in the Scheme community but often envy Common Lisp >jinx> constructs and features. > >Maybe you just envy the CL libraries -- well, many Scheme >implementations do have libraries as rich as those of most any CL >system; T, and obviously CScheme, that you probably are using, come to >mind. What little is missing can be usually implemented quite easily and >quickly, with much less verbiage than in CL. There's all kinds of stuff in CL that isn't in T. And CLOS, for example, cannot be implemented quite easily and quickly. (To be fair, there are also things in T that are not in CL and that could not be implemented easily and quickly.) >CLOS? Well, I have just reread Abelson & Sussman (generics and >packages), and there is something similar there. Not as fanatically >overspecified as CLOS, but, incredibly, not that distant from it. Maybe you don't like CLOS. Ok. But don't confuse that with other issues. CLOS cannot be implemented easily and quickly in Scheme (nor, for that matter, in a Common Lisp that doesn't already have it). The stuff in Abelson and Sussman can be implemented easily and quickly in Common Lisp. -- jd