From: Eli Bendersky
Subject: considering newlisp's pros and cons
Date: 
Message-ID: <1145548159.325617.268450@t31g2000cwb.googlegroups.com>
Hello fellow Lispers,

Inspired by the latest debates with Steve Yegge and Ron Garret and by
recently finding newlisp, I've posted an article that tries to
summarize the pros and cons of newlisp, in itself and in comparison
with the other Lisp dialects, like Common Lisp:

http://eli.thegreenplace.net/2006/04/20/newlisp-an-intriguing-dialect-of-lisp/

My goal is truly to build an _objective_ set of facts in favor of and
against newlisp, from CL's point of view. This is for myself as well as
for others, to serve as a future point of comparison. I hope it won't
be perceived as an attempt to flame :-)

Eli

From: Pascal Bourguignon
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <87psjcck6b.fsf@thalassa.informatimago.com>
"Eli Bendersky" <······@gmail.com> writes:


> Hello fellow Lispers,
>
> Inspired by the latest debates with Steve Yegge and Ron Garret and by
> recently finding newlisp, I've posted an article that tries to
> summarize the pros and cons of newlisp, in itself and in comparison
> with the other Lisp dialects, like Common Lisp:
>
> http://eli.thegreenplace.net/2006/04/20/newlisp-an-intriguing-dialect-of-lisp/
>
> My goal is truly to build an _objective_ set of facts in favor of and
> against newlisp, from CL's point of view. This is for myself as well as
> for others, to serve as a future point of comparison. I hope it won't
> be perceived as an attempt to flame :-)

Here are already 43 usenet posts about newlisp from CL's point of view:

http://groups.google.com/groups?as_q=newlisp&num=10&scoring=r&hl=en&as_epq=&as_oq=&as_eq=&as_ugroup=comp.lang.lisp&as_usubject=&as_uauthors=&lr=&as_drrb=q&as_qdr=&as_mind=1&as_minm=1&as_miny=1981&as_maxd=20&as_maxm=4&as_maxy=2006&safe=off

If you will, read them and post a summary, we'll see if we have anything to add.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"This statement is false."            In Lisp: (defun Q () (eq nil (Q)))
From: Eli Bendersky
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <1145551817.419958.247810@t31g2000cwb.googlegroups.com>
> > Hello fellow Lispers,
> >
> > Inspired by the latest debates with Steve Yegge and Ron Garret and by
> > recently finding newlisp, I've posted an article that tries to
> > summarize the pros and cons of newlisp, in itself and in comparison
> > with the other Lisp dialects, like Common Lisp:
> >
> > http://eli.thegreenplace.net/2006/04/20/newlisp-an-intriguing-dialect-of-lisp/
> >
> > My goal is truly to build an _objective_ set of facts in favor of and
> > against newlisp, from CL's point of view. This is for myself as well as
> > for others, to serve as a future point of comparison. I hope it won't
> > be perceived as an attempt to flame :-)
>
> Here are already 43 usenet posts about newlisp from CL's point of view:
>
> http://groups.google.com/groups?as_q=newlisp&num=10&scoring=r&hl=en&as_epq=&as_oq=&as_eq=&as_ugroup=comp.lang.lisp&as_usubject=&as_uauthors=&lr=&as_drrb=q&as_qdr=&as_mind=1&as_minm=1&as_miny=1981&as_maxd=20&as_maxm=4&as_maxy=2006&safe=off
>
> If you will, read them and post a summary, we'll see if we have anything to add.
>

Pascal, in some sense my post *is* a summary of what I found on this
group, plus some posts in Lambda the Ultimate, plus some discussions in
newlisp's forum. So if you have anything to add, by all means please
do.

Eli
From: Jens Axel Søgaard
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <4447d16d$0$38621$edfadb0f@dread12.news.tele.dk>
Eli Bendersky wrote:
>>>Hello fellow Lispers,
>>>
>>>Inspired by the latest debates with Steve Yegge and Ron Garret and by
>>>recently finding newlisp, I've posted an article that tries to
>>>summarize the pros and cons of newlisp, in itself and in comparison
>>>with the other Lisp dialects, like Common Lisp:
>>>
>>>http://eli.thegreenplace.net/2006/04/20/newlisp-an-intriguing-dialect-of-lisp/
>>>
>>>My goal is truly to build an _objective_ set of facts in favor of and
>>>against newlisp, from CL's point of view. This is for myself as well as
>>>for others, to serve as a future point of comparison. I hope it won't
>>>be perceived as an attempt to flame :-)
>>
>>Here are already 43 usenet posts about newlisp from CL's point of view:
>>
>>http://groups.google.com/groups?as_q=newlisp&num=10&scoring=r&hl=en&as_epq=&as_oq=&as_eq=&as_ugroup=comp.lang.lisp&as_usubject=&as_uauthors=&lr=&as_drrb=q&as_qdr=&as_mind=1&as_minm=1&as_miny=1981&as_maxd=20&as_maxm=4&as_maxy=2006&safe=off
>>
>>If you will, read them and post a summary, we'll see if we have anything to add.
>>
> 
> 
> Pascal, in some sense my post *is* a summary of what I found on this
> group, plus some posts in Lambda the Ultimate, plus some discussions in
> newlisp's forum. So if you have anything to add, by all means please
> do.

You forgot one disadvantage: the documentation. To me quality
documentation makes me trust the developers. On the other hand
if the documentation is sloppy, then presumably the product
is just as sloppy.

At

    <http://lambda-the-ultimate.org/node/257>

I wrote this on NewLisp:


Quality of Documentation
------------------------

I have a tedency to judge implementations by the quality of the 
documentation. If the quality of the documentation is high, then with 
high probability the quality of the implementation is also high.

Switching languages (or even implementations) require some effort, and 
to make that effort as small as possible, one needs to trust the 
documentation.

Examining some of the fundamental operations often reveal much. As a 
random example, let's take the entry on begin:

     syntax: (begin body)

     The begin form is used to group a block of
     expressions. The expressions in body are
     evaluated. The value of the last expression of
     body is returned.

This isn't too bad - but I do find it somewhat perculiar that they don't 
mention the order in which the expressions in the body are evaluated.

Another fundemental operator is quote:

     syntax: (quote exp)

     exp is returned without being evaluated, as if
     quoted. Note that before version 6.5.23 quote
     evaluated exp first. The current new behavior is
     consistent with Scheme and Common Lisp.

I am glad I already know what quote does.


-- 
Jens Axel S�gaard
<http://www.scheme.dk/blog/2006/04/mini-kanren-and-da-vinci-challenge.html>
From: Eli Bendersky
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <1145557787.997926.222780@u72g2000cwu.googlegroups.com>
> You forgot one disadvantage: the documentation. To me quality
> documentation makes me trust the developers. On the other hand
> if the documentation is sloppy, then presumably the product
> is just as sloppy.
>
> At
>

Jens,

I completely agree that the level of the documentation sheds some light
on the level of the tool itself. However, understanding documentation
is a subjective trait. Truly, I found newlisp's documentation well
organized and clear. After reading the short overview of the language,
it is simple to understand the reference.

By the way, as I mentioned, newlisp is a moving target - it
continuously improves. Both examples you provided for documentation you
don't like were expanded with examples which IMHO clarify their use.

Again, my general impression with newlisp's documentation is good, and
really I have seen no complaints about it in the forums. So if this is
your ownly reservation from trying the language, do reconsider :-)

Eli
From: Jens Axel Søgaard
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <44489767$0$38657$edfadb0f@dread12.news.tele.dk>
Eli Bendersky wrote:
>>You forgot one disadvantage: the documentation. To me quality
>>documentation makes me trust the developers. On the other hand
>>if the documentation is sloppy, then presumably the product
>>is just as sloppy.
> 
> Jens,
> 
> I completely agree that the level of the documentation sheds some light
> on the level of the tool itself. However, understanding documentation
> is a subjective trait. Truly, I found newlisp's documentation well
> organized and clear. After reading the short overview of the language,
> it is simple to understand the reference.
> 
> By the way, as I mentioned, newlisp is a moving target - it
> continuously improves. Both examples you provided for documentation you
> don't like were expanded with examples which IMHO clarify their use.

Sorry - It wasn't fair not to check the new documentation.

   quote
   syntax: (quote exp)
   exp is returned without being evaluated, as if quoted.

   example:
     (quote x)                 => x
     (quote 123)               => 123
     (quote (a b c))           => (a b c)
     (= (quote x) 'x)          => true

The example does help. I still find the "as if quoted" peculiar.

I fell over the next entry:

   quote?
   syntax: (quote? exp)

   exp is evaluated and tested if quoted. true or nil is returned
   depending on the result.

Does this mean "Reurns true if exp evaluates to a list whose first
element is the symbol quote"?


I also mentioned begin:

   begin
   syntax: (begin body)

   The begin form is used to group a block of expressions. The
   expressions in body are evaluated. The value of the last expression of
   body is returned.

   example:

     (begin
       (print "This is a block of 2 expressions\n")
       (print "================================"))

   Some built-in functions like cond, define, dolist, dotimes and while
   already allow multiple expressions in their body sections, but begin
   is often used in if.

   See also silent, which works like begin but suppresses console output
   on return.

I still see no mentioning of the order of evaluation.

 > Again, my general impression with newlisp's documentation is good, and
 > really I have seen no complaints about it in the forums. So if this is
 > your ownly reservation from trying the language, do reconsider :-)

I like your choice of functions to include. But still haven't understood 
what newLisp brings to the table that neccessitated a new language.


I have a few other questions:

   count
   syntax: (count list-1 list-2)

   Counts elements of list-1 in list-2 and returns a list of those
   counts.
   [examples cut]

Which equality function is used to compare the elements?


Which generator is used to implement random and friends?


In general I miss descriptions of what happens in error situations,
e.g.

   invert
   syntax: (invert matrix)

   Returns the inversion of a two dimensional matrix in matrix. The
   matrix must be square with the same number of rows and columns and
   non-singular (invertible). Matrix inversion can be used to solve
   systems of linear equations, for example, multiple regression in
   statistics. newLISP uses LU-decomposition of the matrix to find the
   inverse.

   example:

     (set 'A '((-1 1 1) (1 4 -5) (1 -2 0)))
     (invert A)    =>   ((10 2 9) (5 1 4) (6 1 5))

   See also the matrix functions transpose and multiply.

What happens if I give invert a non-invertible matrix?


-- 
Jens Axel S�gaard
From: Thomas Womack
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <gvh*uBJer@news.chiark.greenend.org.uk>
In article <·························@dread12.news.tele.dk>,
=?ISO-8859-1?Q?Jens_Axel_S=F8gaard?=  <······@soegaard.net> wrote:

>You forgot one disadvantage: the documentation. To me quality
>documentation makes me trust the developers. On the other hand
>if the documentation is sloppy, then presumably the product
>is just as sloppy.

But the Common Lisp hyperspec works as really rather good
documentation for Lisp; at least, I'm learning using that as my main
reference, and find I don't care what the developers of individual
Lisps are providing in the way of documentation.

At least, I'd be looking at the individual-Lisp-documentation for its
unique features, rather than for its description of what (loop) or
(quote) do.

Tom
From: Rick Hanson
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <1145556464.253668.299500@j33g2000cwa.googlegroups.com>
Pascal Bourguignon wrote:
>
> Here are already 43 usenet posts about newlisp from CL's point of view:
>
> http://groups.google.com/groups?as_q=newlisp&num=10&scoring=r&hl=en&as_epq=&as_oq=&as_eq=&as_ugroup=comp.lang.lisp&as_usubject=&as_uauthors=&lr=&as_drrb=q&as_qdr=&as_mind=1&as_minm=1&as_miny=1981&as_maxd=20&as_maxm=4&as_maxy=2006&safe=off
>
> If you will, read them and post a summary, we'll see if we have anything to add.
>

Wow!  How do you summarize that hodge-podge of reactions!  :-)

Personally, I use newLISP in places where I might use something like
Python.  It is a very handy language in that regard.  It is not a
Common Lisp or a *better* or *newer* Lisp, as people inexplicably
think.  I use CL and other languages for other projects for which I
think they are better suited.

Some CLers (not you, Pascal) seem to have such a seemingly unhealthly
superiority complex that they start to read claims into the simple
mention of the moniker 'newLISP'.  To those people, all I have to say
is "newLISP, newLISP, newLISP, newLISP, newLISP!!!"  He, he, he.  I can
see you now popping a blood vessel or two.  :-)

But seriously, I'd like to thank Eli for making an honest and
constructive attempt to discuss and evaluate newLISP and encouraging
CLers on c.l.l. to help do the same.
From: Pascal Costanza
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <4apq9oFtucnhU1@individual.net>
Eli Bendersky wrote:
> Hello fellow Lispers,
> 
> Inspired by the latest debates with Steve Yegge and Ron Garret and by
> recently finding newlisp, I've posted an article that tries to
> summarize the pros and cons of newlisp, in itself and in comparison
> with the other Lisp dialects, like Common Lisp:
> 
> http://eli.thegreenplace.net/2006/04/20/newlisp-an-intriguing-dialect-of-lisp/
> 
> My goal is truly to build an _objective_ set of facts in favor of and
> against newlisp, from CL's point of view. This is for myself as well as
> for others, to serve as a future point of comparison. I hope it won't
> be perceived as an attempt to flame :-)

Your first point is very unfortunate in that regard. See my comment on 
your blog.

It also seems somewhat accidental that you have chosen newlisp. There 
are dozens of other Lisp implementations out there, not counting the 
numerous Scheme implementations. What's your point?


Pascal

-- 
3rd European Lisp Workshop
July 3-4 - Nantes, France - co-located with ECOOP 2006
http://lisp-ecoop06.bknr.net/
From: Eli Bendersky
Subject: Re: considering newlisp's pros and cons
Date: 
Message-ID: <1145552029.906191.13880@i40g2000cwc.googlegroups.com>
Pascal Costanza wrote:
> Eli Bendersky wrote:
> > Hello fellow Lispers,
> >
> > Inspired by the latest debates with Steve Yegge and Ron Garret and by
> > recently finding newlisp, I've posted an article that tries to
> > summarize the pros and cons of newlisp, in itself and in comparison
> > with the other Lisp dialects, like Common Lisp:
> >
> > http://eli.thegreenplace.net/2006/04/20/newlisp-an-intriguing-dialect-of-lisp/
> >
> > My goal is truly to build an _objective_ set of facts in favor of and
> > against newlisp, from CL's point of view. This is for myself as well as
> > for others, to serve as a future point of comparison. I hope it won't
> > be perceived as an attempt to flame :-)
>
> Your first point is very unfortunate in that regard. See my comment on
> your blog.

Thanks for the detailed commen - I will address it.

>
> It also seems somewhat accidental that you have chosen newlisp. There
> are dozens of other Lisp implementations out there, not counting the
> numerous Scheme implementations. What's your point?
>

You're right - my choice of newlisp is indeed accidental - I just saw a
language that looks promising, at least on first sight.

My point is creating an objective comparison, summarizing the cons and
pros, creating a place where people can in a single read understand how
newlisp is different, and whether it's worth learning.

Eli