Earlier quoted context omitted.
Maybe there's something to newLisp, but any time I see a group with that flavor of persecution complex ("All the criticism is wrong because they just don't understand!") I take pause. I think there was more to it than that. :-)
I haven't read (in your article or elsewhere) sufficient defense for newLisp's choice of o Lazy evaluation ("fexprs") over Lisp macros o "One-Reference-Only" memory management over garbage collection o Dynamic scope over lexical scope But you've found it "the easiest [Lisp] to setup, deploy, and develop for"? Great! newLisp has fantastic documentation and a helpful community? Perfect! I full-heartedly agree with zeph…
How newLisp Took My Breath (And Syntax) Away
11–20 of 35 posts
Re: How newLisp Took My Breath (And Syntax) Away
#12The opinion of those who know significantly more than me is that newLisp is to be avoided. http://news.ycombinator.com/item?id=788157 In most anything written by a fan of newLisp, you'll find something like the following (taken from the linked article): > Today, unfortunately, whenever someone mentions newLISP on an online forum frequented by adherents of another LISP, an almost clan-like flame war will erupt. An adh…
Step 0: don't pretentiously prepend "new" to the name of your language.
Re: How newLisp Took My Breath (And Syntax) Away
#13The opinion of those who know significantly more than me is that newLisp is to be avoided. http://news.ycombinator.com/item?id=788157 In most anything written by a fan of newLisp, you'll find something like the following (taken from the linked article): > Today, unfortunately, whenever someone mentions newLISP on an online forum frequented by adherents of another LISP, an almost clan-like flame war will erupt. An adh…
I guess you can view newLISP in at least two different ways: a naive implementation of it, or a reboot of it, branching from a much older LISP than most today do. I think of the new LISPs out there, Clojure has its act together much more than newLISP - it's quite sophisticated in a lot of ways, it's making rapid progress, and now has a relatively large development community for such a new language. But for newLISP us…
In the same sense that you wouldn’t use JavaScript to write an iPhone app (some beg to differ), you wouldn’t use use newLISP to write an operating system, a music player like iTunes, or a web browser like Firefox. For such endeavors I recommend without hesitation Clojure, Scheme, C, Objective-C, etc. In other words, languages geared for solving complex, low-level problems, as quickly as possible.
Re: How newLisp Took My Breath (And Syntax) Away
#14Good article, I've liked newLISP since I discovered it a few days ago but wasn't sure about it after a few responses to my comment in the newLISP webframework thread... It can easily become a python replacement for me!
Re: How newLisp Took My Breath (And Syntax) Away
#15That said, I need to disagree with you on one point:
> I realized that it was syntax that was at the root of most programming errors.
No. You're using the word wrong. Syntax is the structure of a language--e.g., curly braces vs whitespace vs parens vs etc to set scope. Syntax is trivial and can be caught by the compiler / interpreter.
The root of most programming errors is a logic fault--i.e., the programmer is either solving the right problem incorrectly (didn't think it through or didn't understand it) or is solving the wrong problem (incorrect / out of date / misunderstood requirements).
Re: How newLisp Took My Breath (And Syntax) Away
#16Lisp's power is not in its lack of 'syntax', but in the specific way that the code is structured. You can write code that writes code. The regular structure of the code helps this, not the specific syntaxes.
The Fexpr vs. macro comparison is bogus. In common lisp (or scheme or Clojure) you will normally not be macro-expanding the macro more than once (when you compile it).
You will notice that compiled versions (cl or scheme) of these tests trounce newLISP soundly. Eval is to be avoided because most of the time there are are a lot of more structured ways to do exactly the same thing. Evaluating arbitrary code is very clever and can lead to a very big headache.
I don't know about the rest other than that 'we have fork' is probably not going to buy you much from clojure folks.
I think a better argument for newLisp would have been: 1.) It is lispier than python or C. 2.) It is simple and good for scripting, and therefore good for lisp newbies (you don't have to get your head around macros or the intricacies of eql eq equal, equalp and =).
I think that the CL community appears so abrasive because the language is so complex (this has nothing to do with syntax, but simply the size and complexity of the spec). You have to make serious effort to understand/know it before you can even begin to ask reasonable questions about it.
Even people who have been programming CL for years can get things wrong answering from the top of their head. It is not poorly documented, it is just huge and in some respects complex.
Re: How newLisp Took My Breath (And Syntax) Away
#17The opinion of those who know significantly more than me is that newLisp is to be avoided. http://news.ycombinator.com/item?id=788157 In most anything written by a fan of newLisp, you'll find something like the following (taken from the linked article): > Today, unfortunately, whenever someone mentions newLISP on an online forum frequented by adherents of another LISP, an almost clan-like flame war will erupt. An adh…
To be honest, that could describe almost the entire (vocal) Lisp community these days, and I say this as a quite embarrassingly commited Lisp fan and user.
Anyway, I wouldn't say that dynamic scope is evil, but to most Lisp users is does just feel a little backwards. Un-natural, if you will. That's just one of the reasons why everyone secretly (or not-so-secretly) longs for the never-coming day when emacs lisp can just 'go away'.
Re: How newLisp Took My Breath (And Syntax) Away
#18So I used it... and now I'm crazy for it and I think I'm superior to everyone!
Re: How newLisp Took My Breath (And Syntax) Away
#19> and extra stuff can be accessed through the function (args) or the symbol $args. Hmm.. what makes $args a symbol? The sigil? If not, what does the sigil $ indicate? Isn't that syntax? Why isn't it listed here: http://www.taoeffect.com/blog/wp-content/uploads/2009/12/new... ?
Re: How newLisp Took My Breath (And Syntax) Away
#20Good article, I've liked newLISP since I discovered it a few days ago but wasn't sure about it after a few responses to my comment in the newLISP webframework thread... It can easily become a python replacement for me!
I like the idea of "Python replacement." I'm finding Python grating in some ways these days...