Xref: utzoo comp.lang.lisp:2021 comp.lang.scheme:773 Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!attctc!pollux!ti-csl!m2!gateley From: gateley@m2.csc.ti.com (John Gateley) Newsgroups: comp.lang.lisp,comp.lang.scheme Subject: Re: "Scheme has data types and Lisp doesn't." Keywords: Where does this idea come from? Message-ID: <87107@ti-csl.csc.ti.com> Date: 10 Aug 89 03:03:58 GMT References: <9085@thorin.cs.unc.edu> Sender: news@ti-csl.csc.ti.com Reply-To: gateley@m2.UUCP (John Gateley) Followup-To: comp.lang.lisp Organization: TI Computer Science Center, Dallas Lines: 32 In article <9085@thorin.cs.unc.edu> bts@evergreen.cs.unc.edu (Bruce Smith) writes: >I hope someone here can explain the origin of this notion that >"Scheme has data types and Lisp doesn't". Probably this statement refers to older dialects of Lisp which used dynamic scoping, making static type inference difficult. Also, older lisp dialects tended to do everything with cons, as opposed to vectors etc. As for Scheme vs. Common Lisp, the main differences are Common Lisp has more available data types (such as displaced arrays) and CL also gives the user some tools for manipulating/enforcing types (declare, typep, subtypep etc.) >Most recently, in a discussion of which functional programming >language should be taught to students (not at UNC, by the way) >I heard that Scheme was to be preferred because compiled Scheme >executes much faster than compiled Common Lisp. The reason for >that difference? Because, of course, "Scheme has data types >and Lisp doesn't." I don't believe this (and I currently maintain both Scheme and CL compilers). CL could potentially execute slower than Scheme because it has more features (like keyword arguments, sequence functions, etc). However, if you compare CL programs with these feature to Scheme programs which "are the same", then usually the CL programs are more efficient. This is because the compiler knows about the extra features and most of the time has efficient ways of doing them. Hope this helps, John gateley@m2.csc.ti.com