5 ms·
> Scheme is even more Lisp than Lisp That's not true. In fact, there are some prominent people in the Lisp community who do not think that Scheme is a Lisp. S
by fsck--off 13y ago
> Scheme is even more Lisp than Lisp
That's not true. In fact, there are some prominent people in the Lisp community who do not think that Scheme is a Lisp.
See this thread from 2002 on comp.lang.lisp (especially Pitman and Naggum's comments) for more. If you are too young to have posted on C.L.L when Usenet was still popular, and want to see what a full fledged flame war looks like, look at the end of the thread.
Some people who posted there (including the OP) are on HN.
https://groups.google.com/forum/#!topic/comp.lang.lisp/Bj8Hx6mZEYI[1-25-false] https://groups.google.com/forum/#!topic/comp.lang.lisp/Bj8Hx...
- markus2012 13y agoHoly smoke... I started posting on Usenet ~1989. I've seen a number of flame fests that I considered epic but this moved the bar exponentially.
- saurabh 13y agoAnd he started it with this. I hesitate to ask this question because I really don't want to start a flame war.
- untothebreach 13y agoI got to the end of the page and thought, "Well that wasn't so bad..." -- then I saw that I was at the end of page 1...of 22. Epic.
- 6cxs2hd6 13y agoCivil wars over distinctions without a difference are the ugliest kind.
- kragen 13y agoThere are people — like Pitman and Naggum — who argue for defining "Lisp" to mean "Common Lisp" for political rather than technical reasons, essentially because they want to stop the evolution of Lisp. (Those who haven't read the thread might think I'm exaggerating.) Fortunately, they are relatively irrelevant today, and Lisps like Clojure, Hy, and Racket are carrying on the further development of Lisp.
- lispm 13y agoBut languages like Clojure, Hy or Racket are not a Lisp. They are Lisp-derived/inspired/... languages. That's also why they don't have Lisp in their name. OTOH Lisps like Emacs Lisp, Common Lisp, ISLisp, and some others are still carrying the core of the first Lisp. Basically you can run Lisp 1.5 code in those without many changes. Just like Java is not the new C. OTOH languages like C++ and Objective C still support much of C. You can port C to C++ easily. Over the history many other languages have been trying to replace Lisp: ML (functional programming), Dylan (object-oriented programming), Logo, Scheme, ... all tried to modernize/improve Lisp. Now it is Clojure and some other languages. Still there are core Lisp languages which carry on the genes. But not Clojure: Clojure 1.5.0-RC2 user=> (car '(1 2)) CompilerException java.lang.RuntimeException: Unable to resolve symbol: car in \ this context, compiling:(NO_SOURCE_PATH:3:1) What? user=> (append '(1 2) '(3 4)) CompilerException java.lang.RuntimeException: Unable to resolve symbol: append \ in this context, compiling:(NO_SOURCE_PATH:4:1) What? user=> (assoc 'foo '((foo . 3))) ArityException Wrong number of args (2) passed to: core$assoc clojure.lang.AFn\ .throwArity (AFn.java:437) user=> (atom 'foo) #<Atom@2285af04: foo> ??? Does not look like it supports Lisp processing as defined by McCarthy: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.4527&rep=rep1&type=pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.... Additionally the Java error messages are especially irritating. I enter Clojure code and get Java error messages. Compare that with a real Lisp: bash-3.2$ java -jar abcl.jar Armed Bear Common Lisp 1.1.1 Java 1.7.0_25 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM Low-level initialization completed in 0.628 seconds. Startup completed in 1.968 seconds. Type ":help" for a list of available commands. CL-USER(1): (car '(1 2)) 1 CL-USER(2): (append '(1 2) '(3 4)) (1 2 3 4) CL-USER(3): (assoc 'foo '((foo . 3))) (FOO . 3) CL-USER(4): (bar 10) #<THREAD "interpreter" {6EEE1E2}>: Debugger invoked on condition of type UNDEFINED-FUNCTI\ ON The function BAR is undefined. Restarts: 0: CONTINUE Try again. 1: USE-VALUE Specify a function to call instead. 2: RETURN-VALUE Return one or more values from the call to BAR. 3: TOP-LEVEL Return to top level. [1] CL-USER(5): We even get Lisp error messages. The compiler is written in Lisp. http://svn.common-lisp.net/armedbear/trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp http://svn.common-lisp.net/armedbear/trunk/abcl/src/org/arme... Clojure may be a cool language, but the core of Lisp has been replaced in parts with something else. List processing is different. It's now based on 'persistent' lazy sequences...