4 ms·
Why is it called LispKit when there's no Lisp in it?
by M_Bakhtiari 8y ago
Why is it called LispKit when there's no Lisp in it?
- pavlov 8y ago”LispKit implements a core language based on the R7RS (small) Scheme standard.” Don’t you consider Scheme a Lisp?
- pjmlp 8y agoScheme is a Lisp like language, not a Lisp. Parenthesis is probably the only thing they have in common.
- jlg23 8y agoScheme is a classical example for a lisp-1. CL is a lisp-2. > Parenthesis is probably the only thing they have in common. Besides separation of namespaces in a lisp-2 and full, native support for continuations in scheme, which differences do you see/consider relevant?
- pjmlp 8y agoThe standard library and built-in forms that actually define the language semantics?
- M_Bakhtiari 8y agoMacros is the most glaring omission that I can see. Scheme's closest equivalents are neat academic exercises, but I don't consider them complete macro systems.
- bjoli 8y agoYou do know that something like defmacro can be implemented in about 10 lines using syntax-case?
- firepoet 8y agoFor folks who are confused, an interesting and useful article on why Scheme could be considered a Lisp, why it might not, and why it doesn't really matter. http://wiki.c2.com/?IsSchemeLisp http://wiki.c2.com/?IsSchemeLisp
- zeveb 8y agoWhile it's true folks argue that it doesn't really matter (evidence: the section 'Arguments why it doesn't matter' on that page), I'll counter-argue that they're wrong. Scheme simply isn't the same language as Lisp. That's okay: the entire world doesn't need to standardise on a single language (although if it's going to, Lisp would be preferable to Scheme). And, honestly, the arguments that it doesn't matter presented on that page are pretty weak. 'It's a pointless distraction' is an assertion, not an argument. Scheme and Lisp are different; they have different philosophies and they solve the same problems in different ways; recognising those differences is recognising the facts; ignoring them is simply ignoring reality. 'The benefits of choice far outweigh the disadvantages of redundant/wasted development work on two incompatible platforms' is clearly, I believe, falsified by the experience of the last couple of decades. When I think of the work which went into Racket (originally a Scheme, but now its own thing) and Clojure, I think of how much better Lisp could have been if that effort had instead been spent on it (and aficionados of either of those languages could say the same thing about effort spent on the other, on Lisp & on other Lisp-like languages).
- bjoli 8y agoWell,I think that lisp is a language family and common lisp is the most prominent member. I would guess this is the most common view.
- tonyg 8y agoYour claim is revisionist and, in my view, nonsense. Scheme is most certainly a Lisp. I mean, you can think what you like, and of course postmodernism is a thing, "the author is dead" and so forth, but if you look at the history, it's very, very clear that Scheme is a Lisp; that is, it is a member of the Lisp language family. You can even read the words of the people who invented and developed the language: "SCHEME is essentially a full-funarg LISP." - page 1, "Scheme, an interpreter for extended lambda calculus", Sussman and Steele, Dec 1975. AI memo #349. "SCHEME is a dialect of LISP." - abstract, "The Revised Report on SCHEME, a Dialect of LISP", Steele and Sussman, Jan 1978. AI memo #452. "Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language [...] Scheme differs from Common Lisp in its emphasis upon simplicity and function over compatibility with older dialects of Lisp." - page 4, "The Revised Revised Report on Scheme, or An UnCommon Lisp", Rees and Clinger (eds.), Aug 1985. AI memo #848. "Scheme has influenced the evolution of Lisp. [...] Scheme was the first major dialect of Lisp to [do many things]" - introduction, "Revised^3 Report on the Algorithmic Language Scheme", Rees and Clinger (eds.), Dec 1986. ACM SIGPLAN Notices 21(12). "Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language" - summary of the R4RS, the R5RS, the R6RS and even the bloody R7RS. Compare and contrast to the opening words of the Introduction to CLtL2, which are "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by Zetalisp and to some extent by Scheme and Interlisp." If Scheme is "not a Lisp", then neither is Common Lisp.
- pjmlp 8y agoCtrl+F "dialect" makes my point.
- bjoli 8y agoCL is a lisp dialect as well. Just because it is the biggest doesn't make it the only lisp entitled to be called a lisp
- M_Bakhtiari 8y ago> Just because it is the biggest doesn't make it the only lisp entitled to be called a lisp That's not what's being argued, though.
- lispm 8y agoDylan is also a Lisp. Is Lispkit running Dylan code? If Lispkit only runs the Scheme dialect of Lisp and basically implements the specific R7RS dialect of Scheme, why call it Lisp and not Scheme?