Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!elroy.jpl.nasa.gov!sdd.hp.com!think.com!barmar From: barmar@think.com (Barry Margolin) Newsgroups: comp.lang.lisp Subject: Re: In defense of call/cc (and a plug for T) Message-ID: <1991Feb15.082301.2154@Think.COM> Date: 15 Feb 91 08:23:01 GMT References: <1991Feb12.233157.20820@elroy.jpl.nasa.gov> <1991Feb13.055938.22853@Think.COM> <1991Feb14.223202.11475@elroy.jpl.nasa.gov> Sender: news@Think.COM Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 20 In article <1991Feb14.223202.11475@elroy.jpl.nasa.gov> gat@forsight.jpl.nasa.gov (Erann Gat) writes: >What I do not understand is why you can't do both: first start with a set >of primitives. Define the hell out of them so everyone agrees what they do. The Common Lisp designers didn't have the luxury of starting from first principles. Read the history chapter of CLtL. The goal of Common Lisp was to unify many of the Lisp dialects that were proliferating by the early 80's. They needed to produce something relatively quickly, or users would get too dependent on their incompatible dialects. A reasonable amount of compatibility with existing dialects, or at least the ability to coexist with them and/or automatically translate from them to CL, was also important. These goals all had higher priority than producing a conceptually beautiful language design. The Scheme people were doing the "clean" Lisp; there was no need to duplicate their work, since the goals were completely different. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar