5 ms·
newLISP is not a derivative of Common Lisp or Scheme or any other Lisp. It's a different language in a similar style. I wish the Common Lisp camp wasn't so ins
by lispit 11y ago
newLISP is not a derivative of Common Lisp or Scheme or any other Lisp. It's a different language in a similar style.
I wish the Common Lisp camp wasn't so insistent on equating "Lisp" to "Common Lisp." It's annoying having to tiptoe around them by saying "Lisp-like language."
- lispm 11y agoWhy would I call a 'new' language 'Lisp' when it can't run a single line of Lisp code from the past 50 years? Give it a different name. Not every random language which happens to use parentheses in some way needs to be called Lisp.
- weland 11y agoIt's very much a Lisp dialect in the sense of McCarthy's Lisp. There is some life beyond Common Lisp :).
- lispm 11y agoIt isn't. Newlisp shares that not much with McCarthy's Lisp. newlisp does not even have linked lists, it has a different evaluation model, ..., no GC. Languages like Standard Lisp, Franz Lisp, ISLisp, Eulisp, Emacs Lisp, Visual Lisp are in the Lisp tradition and share a core language. newlisp is a different language. Call it ParenthesesScript, ContextScript or something like that.
- weland 11y ago> does not even have linked lists Conses are different in newlisp, but it certainly does have linked lists: > In newLISP, there are no dotted pairs. Instead, each newLISP cell contains one object and a pointer to another object if the cell is part of a list. > different evaluation model That one is true, yes. > no GC No, but it implements McCarthy's original intent through the ORO scheme. NewLisp's ORO thing is very annoying if you ask me, but it does its job; it achieves the same thing that McCarthy mentioned in his paper: "This process [...] is more convenient for the programmer than a system in which he has to keep track of and erase unwanted lists. Its efficiency depends upon not coming close to exhausting the available memory with accessible lists etc." Let's not delude ourselves here. NewLisp is not necessarily one of the "better" Lisp implementations, but it has S-expressions, Scheme-like function application and automatic memory management. I think that's reason enough to call it SomethingLisp.
- lispm 11y ago> Conses are different in newlisp, but it certainly does have linked lists These are different. newlisp seems to have a list cell, which then points to linked content cells. A mechanism which is different from any other Lisp dialect.
- dragonwriter 11y ago> newlisp does not even have linked lists No, it does. Linked list are the fundamental data structure; the difference with respect to linked list from other lisps is, in fact, that in newLisp linked lists are fundamental, not just one application of cons cells, so you can't have a cons cell where cdr is not a proper list.
- hellofunk 11y ago99% of the time, the word "lisp" does not mean "Common Lisp" specifically. When you mean Common Lisp, you say Common Lisp. When you mean any language in the family of lisp languages, you say lisp. This includes hundreds of languages.
- junke 11y ago99% of the time? Common.
- lispm 11y agoEver heard of Lisp 1.5, UCI Lisp, MacLisp, ISLisp, New Implementation of Lisp, Lisp Machine Lisp, Standard Lisp ,Franz Lisp, Emacs Lisp, ISLisp, Autolisp, Visual Lisp, and many many other Lisp dialects? Notice something? These all have Lisp in their name. They all share a core language. None of those is Common Lisp, but Common Lisp is directly related to them, since it also shares the same core language. Common Lisp can easily run Lisp code from 50 years ago. Newlisp can't.
- hellofunk 11y agoTo be honest, I'm not sure what point you are making. But I know that my point still stands.
- junke 11y agoWhen people developped Rust or Go, did they say "this is a C", or "This is newC"? They said: "this is new language with a C-like syntax with such and such features". Why not be precise?
- hellofunk 11y agoto be fair though, lisp is about a lot more than just its syntax
- lispit 11y agoWhen Stroustrup created C++ or Hejlsberg created C#, did C progammers spend decades whining about their choice of names and alienating newcomers?
- muuh-gnu 11y agoThey didnt have to, neither Stroustrup nor Hejlsberg called their languages "a C".
- delish 11y agoI notice that the old-school Common Lispers tend to call their language "Lisp." I (a new-school one) always say CL or Common Lisp. I'm not sure why they do that. When I say "a lisp" or "lisp" I'm referring to the family of languages or some idealized lisp.
- orthecreedence 11y agoI call CL "lisp." The reason is that CL was invented to unify lisps. It did a great job. There are no other contenders in the space. Other languages in the lisp family have their own names. A language can be "a lisp" or in the "lisp family", but in my eyes Lisp is (Common) Lisp. Scheme is Scheme. Clojure is Clojure. Etc.
- zeveb 11y ago> I wish the Common Lisp camp wasn't so insistent on equating "Lisp" to "Common Lisp." But that's what Common Lisp is: it's the common Lisp-like language which (should have) united all the disparate dialects of Lisp. > It's annoying having to tiptoe around them by saying "Lisp-like language." What's annoying to me is that people keep on sinking time an effort into new Lisp-like languages instead of just using Common Lisp (or, gasp, working on a next-generation CL). There's a lot of hard-earned wisdom in CL; even the majority of the cruft exists for good reasons.
- armitron 11y agoThink of it as an early warning system. You immediately know who the idiots are, so you don't need to waste any time finding that out for yourself. I put Clojure in the same category, if we examine it outside the Java ecosystem, a language that is the definition of "premature optimization" (all the concurrency and immutable datastructure features are available as libraries in CL) and has no business existing in a universe where CL exists. But of course people want to work with Java and so on and so forth. Tight Java interop is what makes Clojure worthy of existence and of course, why would any sane Lisper want to work in the Java ecosystem?