From: Benjamin L. Russell
Subject: [newLISP] Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <lsmms4l52qpj8cf9db3o7timvfan852ii8@4ax.com>
There seems to be more discussion of Clojure than newLISP on USENET
these days, even though both are minor Lisp dialects with similar
goals, and users of Clojure probably have their reasons for choosing
that dialect.

Perhaps newLISP can be improved to help cater to USENET-based Lisp
programmers.  Alternatively, perhaps Clojure has certain advantages
over newLISP that I am unaware of.

I am interested in determining whether Clojure is worth trying, and
wish to compare it with newLISP to see any relative
advantages/disadvantages of either.

Here are some observations of both newLISP and Clojure, based upon
features listed on their sites, together with some questions on
Clojure:

1.  newLISP comes with a DrScheme-style GUI-based IDE complete with
definitions and interactions panels, whereas apparently Clojure does
not.  Does Clojure have a superior editing environment?

2.  Clojure does not have first-class continuations.  Unfortunately, I
discovered recently that neither does newLISP.  I wish to study
continuations in PLAI (see
http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/),
as well as to continue studying SICP (see
http://mitpress.mit.edu/sicp/).  Is this feasible using Clojure?

3.  newLISP has ORO (One Reference Only) automatic memory management
(see http://www.newlisp.org/MemoryManagement.html), in which "Memory
is not marked or reference-counted. Instead, a decision whether to
delete a newly created memory object is made right after the memory
object is created."  Does Clojure have a superior garbage collection
mechanism?

4.  I wish to study tail call optimization in SICP.  Since Clojure
"uses the Java calling conventions, it cannot, and does not, make
[...] tail call optimization guarantees" (see
http://clojure.org/functional_programming, under "Recursive Looping").
I am not sure about newLISP in this regard (the newLISP Manual and
Reference (see http://www.newlisp.org/downloads/manual_frame.html))
does not discuss tail call optimization.  Is there a way to study tail
call optimization, as discussed in SICP, using Clojure?

5.  Since I live in Japan, where the dominant language is Japanese, I
wish to be able to use Japanese characters in my programs, thus
necessitating Unicode support.  newLISP supports Unicode (see "newLISP
- Features" at http://www.newlisp.org/index.cgi?Features, under
"International").  I could not find any references to Unicode support
for Clojure.  Does Clojure support Unicode?

-- Benjamin L. Russell
-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." 
-- Matsuo Basho^ 

From: Elena
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <333673de-ce18-4649-9e19-f697c6030d5e@e38g2000yqa.googlegroups.com>
On Mar 26, 11:07 am, Benjamin L. Russell <············@Yahoo.com>
wrote:
> There seems to be more discussion of Clojure than newLISP on USENET
> these days, even though both are minor Lisp dialects with similar
> goals, and users of Clojure probably have their reasons for choosing
> that dialect.
>
> Perhaps newLISP can be improved to help cater to USENET-based Lisp
> programmers.  Alternatively, perhaps Clojure has certain advantages
> over newLISP that I am unaware of.

newLISP is just a minor Lisp dialect: lots of them (no disparaging
here). Clojure is a *practical* Lisp dialect, and it caters to
professional developers helping them easily tackle issues they have to
face.

> I am interested in determining whether Clojure is worth trying, and
> wish to compare it with newLISP to see any relative
> advantages/disadvantages of either.

If you are a researcher, then Clojure doesn't add anything to the
table. If you are a professional developer, as I am, you'd better have
an eye on it.

Cheers
From: Marco Antoniotti
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <c4ca3423-33d6-43ee-87a9-8f039c0be8fc@p11g2000yqe.googlegroups.com>
On Mar 26, 12:24 pm, Elena <········@gmail.com> wrote:
> On Mar 26, 11:07 am, Benjamin L. Russell <············@Yahoo.com>
> wrote:
>
> > There seems to be more discussion of Clojure than newLISP on USENET
> > these days, even though both are minor Lisp dialects with similar
> > goals, and users of Clojure probably have their reasons for choosing
> > that dialect.
>
> > Perhaps newLISP can be improved to help cater to USENET-based Lisp
> > programmers.  Alternatively, perhaps Clojure has certain advantages
> > over newLISP that I am unaware of.
>
> newLISP is just a minor Lisp dialect: lots of them (no disparaging
> here). Clojure is a *practical* Lisp dialect, and it caters to
> professional developers helping them easily tackle issues they have to
> face.
>
> > I am interested in determining whether Clojure is worth trying, and
> > wish to compare it with newLISP to see any relative
> > advantages/disadvantages of either.
>
> If you are a researcher, then Clojure doesn't add anything to the
> table. If you are a professional developer, as I am, you'd better have
> an eye on it.

If the OP is a professional developer, as I was/am/will be, or an
academician, which I am, the OP can just as well have a look at Common
Lisp.

Cheers
--
Marco
From: Elena
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <08c90f9f-1c28-450f-b939-cedbc2313597@q9g2000yqc.googlegroups.com>
On 26 Mar, 16:00, Marco Antoniotti <·······@gmail.com> wrote:
> On Mar 26, 12:24 pm, Elena <········@gmail.com> wrote:
>
>
>
> > On Mar 26, 11:07 am, Benjamin L. Russell <············@Yahoo.com>
> > wrote:
>
> > > There seems to be more discussion of Clojure than newLISP on USENET
> > > these days, even though both are minor Lisp dialects with similar
> > > goals, and users of Clojure probably have their reasons for choosing
> > > that dialect.
>
> > > Perhaps newLISP can be improved to help cater to USENET-based Lisp
> > > programmers.  Alternatively, perhaps Clojure has certain advantages
> > > over newLISP that I am unaware of.
>
> > newLISP is just a minor Lisp dialect: lots of them (no disparaging
> > here). Clojure is a *practical* Lisp dialect, and it caters to
> > professional developers helping them easily tackle issues they have to
> > face.
>
> > > I am interested in determining whether Clojure is worth trying, and
> > > wish to compare it with newLISP to see any relative
> > > advantages/disadvantages of either.
>
> > If you are a researcher, then Clojure doesn't add anything to the
> > table. If you are a professional developer, as I am, you'd better have
> > an eye on it.
>
> If the OP is a professional developer, as I was/am/will be [snip]
> the OP can just as well have a look at Common
> Lisp.


Yup! I was just joking. Didn't you understand it ;-)

Clojure is a Java application. Let's see...

Java applications run on just this platforms:

http://java.sun.com/javase/6/webnotes/install/system-configurations.html

CL implementations are available for any platform you can think of, to
say the least. No compatibility issues whatsoever, since CL has been
standardized a long time ago.

Installing any CL implementation is also a piece of cake. Nobody ever
complained about any CL implementation issue. Beg to differ?

CL also has tons of libraries for just everything you can think of,
JDK looks like a semester college project in comparison. Care to make
criptography? CL has it. Care to work with smart cards? CL has even
more. JDK libraries are nowhere tested and kept up to date as
equivalent CL ones you could find everywhere over the Internet.

Installing a CL library is also a breeze, just know your ASDF thing.
With Java, you'd have to copy a JAR somewhere, and pass the path to
the Java interpreter: what an hassle!

I could continue, but I think you've got the point, Benjamin, don't
you?

Clojure is a cool language, we agree. It has buzz, we agree. But loser
platform it runs on apart, it has nothing, absolutely nothing you
can't emulate in CL if you just craft your own cool macro. Just dig in
"On Lisp" by Paul Graham, which is free as in free beer.

By the way, I've heard that a language of rage among academics is
Haskell. Of course CL will always be the ultimate language, but you
know, if you don't talk macrology, you could learn a few things by
studying it. Sadly it hasn't parenthesis (anymore).

Good luck!
From: Vsevolod
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <2ff3ae6e-682b-4ea9-a245-d56bbc84d3fb@e35g2000yqc.googlegroups.com>
On Mar 26, 8:31 pm, Elena <········@gmail.com> wrote:
> On 26 Mar, 16:00, Marco Antoniotti <·······@gmail.com> wrote:
>
>
>
> > On Mar 26, 12:24 pm, Elena <········@gmail.com> wrote:
>
> > > On Mar 26, 11:07 am, Benjamin L. Russell <············@Yahoo.com>
> > > wrote:
>
> > > > There seems to be more discussion of Clojure than newLISP on USENET
> > > > these days, even though both are minor Lisp dialects with similar
> > > > goals, and users of Clojure probably have their reasons for choosing
> > > > that dialect.
>
> > > > Perhaps newLISP can be improved to help cater to USENET-based Lisp
> > > > programmers.  Alternatively, perhaps Clojure has certain advantages
> > > > over newLISP that I am unaware of.
>
> > > newLISP is just a minor Lisp dialect: lots of them (no disparaging
> > > here). Clojure is a *practical* Lisp dialect, and it caters to
> > > professional developers helping them easily tackle issues they have to
> > > face.
>
> > > > I am interested in determining whether Clojure is worth trying, and
> > > > wish to compare it with newLISP to see any relative
> > > > advantages/disadvantages of either.
>
> > > If you are a researcher, then Clojure doesn't add anything to the
> > > table. If you are a professional developer, as I am, you'd better have
> > > an eye on it.
>
> > If the OP is a professional developer, as I was/am/will be [snip]
> > the OP can just as well have a look at Common
> > Lisp.
>
> Yup! I was just joking. Didn't you understand it ;-)
>
> Clojure is a Java application. Let's see...
>
> Java applications run on just this platforms:
>
> http://java.sun.com/javase/6/webnotes/install/system-configurations.html
>
> CL implementations are available for any platform you can think of, to
> say the least. No compatibility issues whatsoever, since CL has been
> standardized a long time ago.
>
> Installing any CL implementation is also a piece of cake. Nobody ever
> complained about any CL implementation issue. Beg to differ?
>
> CL also has tons of libraries for just everything you can think of,
> JDK looks like a semester college project in comparison. Care to make
> criptography? CL has it. Care to work with smart cards? CL has even
> more. JDK libraries are nowhere tested and kept up to date as
> equivalent CL ones you could find everywhere over the Internet.
>
> Installing a CL library is also a breeze, just know your ASDF thing.
> With Java, you'd have to copy a JAR somewhere, and pass the path to
> the Java interpreter: what an hassle!
>
> I could continue, but I think you've got the point, Benjamin, don't
> you?
>
> Clojure is a cool language, we agree. It has buzz, we agree. But loser
> platform it runs on apart, it has nothing, absolutely nothing you
> can't emulate in CL if you just craft your own cool macro. Just dig in
> "On Lisp" by Paul Graham, which is free as in free beer.
>
> By the way, I've heard that a language of rage among academics is
> Haskell. Of course CL will always be the ultimate language, but you
> know, if you don't talk macrology, you could learn a few things by
> studying it. Sadly it hasn't parenthesis (anymore).
>
> Good luck!
From: Marco Antoniotti
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <cc9e8a83-abcd-470a-913e-9cabc5140a9d@r33g2000yqn.googlegroups.com>
On Mar 26, 7:31 pm, Elena <········@gmail.com> wrote:
> On 26 Mar, 16:00, Marco Antoniotti <·······@gmail.com> wrote:
>
>
>
> > On Mar 26, 12:24 pm, Elena <········@gmail.com> wrote:
>
> > > On Mar 26, 11:07 am, Benjamin L. Russell <············@Yahoo.com>
> > > wrote:
>
> > > > There seems to be more discussion of Clojure than newLISP on USENET
> > > > these days, even though both are minor Lisp dialects with similar
> > > > goals, and users of Clojure probably have their reasons for choosing
> > > > that dialect.
>
> > > > Perhaps newLISP can be improved to help cater to USENET-based Lisp
> > > > programmers.  Alternatively, perhaps Clojure has certain advantages
> > > > over newLISP that I am unaware of.
>
> > > newLISP is just a minor Lisp dialect: lots of them (no disparaging
> > > here). Clojure is a *practical* Lisp dialect, and it caters to
> > > professional developers helping them easily tackle issues they have to
> > > face.
>
> > > > I am interested in determining whether Clojure is worth trying, and
> > > > wish to compare it with newLISP to see any relative
> > > > advantages/disadvantages of either.
>
> > > If you are a researcher, then Clojure doesn't add anything to the
> > > table. If you are a professional developer, as I am, you'd better have
> > > an eye on it.
>
> > If the OP is a professional developer, as I was/am/will be [snip]
> > the OP can just as well have a look at Common
> > Lisp.
>
> Yup! I was just joking. Didn't you understand it ;-)

No.  I am very dense...

> Clojure is a Java application. Let's see...
>
> Java applications run on just this platforms:
>
> http://java.sun.com/javase/6/webnotes/install/system-configurations.html
>
> CL implementations are available for any platform you can think of, to
> say the least. No compatibility issues whatsoever, since CL has been
> standardized a long time ago.

There are compatibility issues.  You just have not found them out
yet... :)  Meaning, you have not named one that is widely recognized
as such.  At least by me in my whining mode. :)

> Installing any CL implementation is also a piece of cake. Nobody ever
> complained about any CL implementation issue. Beg to differ?

I did.  I keep complained about a few...  I have my pet peeves.

> CL also has tons of libraries for just everything you can think of,
> JDK looks like a semester college project in comparison.

JDK is a good thing.  CL+J let's you use it. Foil and Jfli (guess who
wrote them) do too.

> Care to make
> criptography? CL has it.

Oh yes.  There are libraries around.

> Care to work with smart cards? CL has even
> more. JDK libraries are nowhere tested and kept up to date as
> equivalent CL ones you could find everywhere over the Internet.

Show me the money and I'll get you that.  Right now I am paid for
doing other things, like writing on CLL.

> Installing a CL library is also a breeze, just know your ASDF thing.
> With Java, you'd have to copy a JAR somewhere, and pass the path to
> the Java interpreter: what an hassle!

Now.  Do you know what many people complain about the classpath thing?

> I could continue, but I think you've got the point, Benjamin, don't
> you?

Yes.  Benjamin... try - seriously - Common Lisp too.  Not only
Clojure.  That is *my* point.  Trust me.  I paid my dues in Java (and
CL, and ....).   I understand how to tweak the JNI (both from C and C+
+).

> Clojure is a cool language, we agree. It has buzz, we agree. But loser
> platform it runs on apart, it has nothing, absolutely nothing you
> can't emulate in CL if you just craft your own cool macro. Just dig in
> "On Lisp" by Paul Graham, which is free as in free beer.

Well.  Some of us can craft our own macros.  It isn't as self-esteem
building as Perl programming, but it gets us pretty close.

> By the way, I've heard that a language of rage among academics is
> Haskell. Of course CL will always be the ultimate language, but you
> know, if you don't talk macrology, you could learn a few things by
> studying it. Sadly it hasn't parenthesis (anymore).

CL isn't the ultimate laguage because it lacks something that Haskell
(and ML and descendants, including F#) has built in.  Do you know what
it is?

Now, if you really want to try something über-cool which talks
directly to CLI try F#.  Where is John Harrop when we need him? :)

Cheers
--
Marco
From: Elena
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <4406bb8c-3fb3-4672-8cf5-f87fe72f0193@37g2000yqp.googlegroups.com>
On 26 Mar, 20:19, Marco Antoniotti <·······@gmail.com> wrote:
> On Mar 26, 7:31 pm, Elena <········@gmail.com> wrote:
> > CL also has tons of libraries for just everything you can think of,
> > JDK looks like a semester college project in comparison.
>
> JDK is a good thing.  CL+J let's you use it. Foil and Jfli (guess who
> wrote them) do too.

Being able to use JDK is a thing, "embracing" JVM platform - as Rich
Hickey calls it - is another thing.

>
> > Care to make
> > criptography? CL has it.
>
> Oh yes.  There are libraries around.

I meant: right into the standard. Am I wrong?

>
> > Care to work with smart cards? CL has even
> > more. JDK libraries are nowhere tested and kept up to date as
> > equivalent CL ones you could find everywhere over the Internet.
>
> Show me the money and I'll get you that.  Right now I am paid for
> doing other things, like writing on CLL.

Oh no, you show me the money! Working on smart cards pays my bills,
you know. And now I realize what a fool I am: I'm writing very
thoughtful posts on c.l.l. for free. Heck!

>
> > Installing a CL library is also a breeze, just know your ASDF thing.
> > With Java, you'd have to copy a JAR somewhere, and pass the path to
> > the Java interpreter: what an hassle!
>
> Now.  Do you know what many people complain about the classpath thing?

Yes I do. People forgot about good old batch scripts to set your
environment and run. I guess both Eclipse and NetBeans lack a cool
button for such a thing. Well, until I manage to become a CL
programmer, I'll have plenty of work to do.

> > I could continue, but I think you've got the point, Benjamin, don't
> > you?
>
> Yes.  Benjamin... try - seriously - Common Lisp too.  Not only
> Clojure.  That is *my* point.  Trust me.  I paid my dues in Java (and
> CL, and ....).   I understand how to tweak the JNI (both from C and C+
> +).

Seriously Benjamin - I'm serious here, I swear - try the language
which fits your bill. For instance, are you working on a *nix platform
and aren't you concerned about portability and/or legacy Java code?
Then CL is a better choice and has plenty of implementations and tons
of literature about it. Clojure is still young and it will be a work
in progress for a while, and we still have to see how it performs in
the real world. Good work!

> > By the way, I've heard that a language of rage among academics is
> > Haskell. Of course CL will always be the ultimate language, but you
> > know, if you don't talk macrology, you could learn a few things by
> > studying it. Sadly it hasn't parenthesis (anymore).
>
> CL isn't the ultimate laguage because it lacks something that Haskell
> (and ML and descendants, including F#) has built in.  Do you know what
> it is?

Nope. I have tried learning Haskell, but my brain exploded. I put the
pieces together again with a little duct tape, maybe missing
something, and started trolling on c.l.l. Can you understand now why I
can't manage to learn CL just like it is and I'm complaining about
inconsistencies and such? Why don't you just help me?

Cheers
From: Elena
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <d4359def-1a23-44c6-9662-c28ad5500d03@f19g2000yqh.googlegroups.com>
On 26 Mar, 20:53, Elena <········@gmail.com> wrote:
> > > Care to make
> > > criptography? CL has it.
>
> > Oh yes.  There are libraries around.
>
> I meant: right into the standard. Am I wrong?

Nevermind. Just a trollish statement.
From: Espen Vestre
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <m1tz5g14t5.fsf@gazonk.netfonds.no>
Elena <········@gmail.com> writes:

> Java applications run on just this platforms:

You can joke as much as you like, but almost every time I see a
so-called portable java application, I get a strong urge to rewrite the
damn thing in lispworks with capi, because 
1) the installation sucks and is alien to the host OS
2) the gui sucks and is alien to the host OS
3) it's slow as a dog
-- 
  (espen)
From: Elena
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <b76e3de9-c989-4c5b-b593-f4d39d1986bd@f19g2000yqo.googlegroups.com>
On 26 Mar, 20:07, Espen Vestre <·····@vestre.net> wrote:
> Elena <········@gmail.com> writes:
> > Java applications run on just this platforms:
>
> You can joke as much as you like, but almost every time I see a
> so-called portable java application, I get a strong urge to rewrite the
> damn thing in lispworks with capi, because
> 1) the installation sucks and is alien to the host OS
> 2) the gui sucks and is alien to the host OS
> 3) it's slow as a dog
> --
>   (espen)

Not all Java programmers know how to write portable applications. Java
is the C of modern times: code is portable if you know how to write
portable code. Did I say Java *programmers*? Well, not all of them
qualify as such. Therefore I understand what you mean.

Ehi, why did you say "it's slow as a dog"? Some dogs run very fast,
you know, there are even dog races.

Cheers
From: Espen Vestre
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <m1prg4141r.fsf@gazonk.netfonds.no>
Elena <········@gmail.com> writes:

> Not all Java programmers know how to write portable applications. 

Well, that's the main problem, but I don't think it's just that, there's
a problem with the portability of libraries as well.

> Ehi, why did you say "it's slow as a dog"? Some dogs run very fast,
> you know, there are even dog races.

It's just an expression. And even race dogs can't beat Spaceship Lisp
;-)
-- 
  (espen)
From: Pascal J. Bourguignon
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <87tz5gcagc.fsf@galatea.local>
Elena <········@gmail.com> writes:
> Ehi, why did you say "it's slow as a dog"? Some dogs run very fast,
> you know, there are even dog races.

If they were really fast, there'd be no races because

1- you couldn't catch them in the first place,

2- even if you could convince them to gather for a race, there'd be no
   spectacle, nothing to see, so there'd be no point in the race.

-- 
__Pascal Bourguignon__
From: David Golden
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <gqhcne$p6o$1@aioe.org>
Elena wrote:


> Ehi, why did you say "it's slow as a dog"? Some dogs run very fast,
> you know, there are even dog races.
> 
AFAIK the native english idiom is "dog slow" rather than "slow as a
dog".

I don't know it's real origin (and just failed to find one with google,
somewhat unusually these days), but I always thought of it as referring
to a person trying to run away while an attack dog is trying to bring
them down in well-known doggy fashion i.e. "you're dog slow"  - "you're
moving so slow, it's like you have a dog latched onto your leg with his
teeth trying to stop you"

Dogs are stereotypically regarded as both swift and intelligent in my
culture, so only way I could make much sense of the common expression.
"snail slow" would be a more obvious choice for a low-velocity animal.
From: George Neuner
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <7gjos4h8e67m522rdb37vg2klh18gadakv@4ax.com>
On Fri, 27 Mar 2009 02:13:38 +0000, David Golden
<············@oceanfree.net> wrote:

>Elena wrote:
>
>> Ehi, why did you say "it's slow as a dog"? Some dogs run very fast,
>> you know, there are even dog races.
>> 
>AFAIK the native english idiom is "dog slow" rather than "slow as a
>dog".
>
>I don't know it's real origin (and just failed to find one with google,
>somewhat unusually these days),

AFAIK, it is a companion saying to "dog days of summer", ie. a
reference to laziness.


>but I always thought of it as referring
>to a person trying to run away while an attack dog is trying to bring
>them down in well-known doggy fashion i.e. "you're dog slow"  - "you're
>moving so slow, it's like you have a dog latched onto your leg with his
>teeth trying to stop you"
>
>Dogs are stereotypically regarded as both swift and intelligent in my
>culture, so only way I could make much sense of the common expression.
>"snail slow" would be a more obvious choice for a low-velocity animal.

George
From: David Golden
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <gqhjlq$udp$1@aioe.org>
George Neuner wrote:

> AFAIK, it is a companion saying to "dog days of summer", ie. a
> reference to laziness.

Ah, that makes more sense...
From: Tamas K Papp
Subject: Re: [newLISP] Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <7318bqFslrkaU1@mid.individual.net>
On Thu, 26 Mar 2009 20:07:10 +0900, Benjamin L. Russell wrote:

> There seems to be more discussion of Clojure than newLISP on USENET
> these days, even though both are minor Lisp dialects with similar goals,

Similar goals?  The creators of Clojure constructed a decent* language,
the same cannot be said of newLisp.

(* I don't want to get into a CL vs Clojure debate here.  Arguing
about the relative merits of vanilla and chocolate ice cream is
pointless when the third alternative is batshit).

> and users of Clojure probably have their reasons for choosing that
> dialect.

Certainly, but I doubt that using newLisp has ever crossed the mind of
any Clojure user.

> Perhaps newLISP can be improved to help cater to USENET-based Lisp

What does Usenet have to do with it?  Does the fact that I read books
make me a "book-based Lisp programmer"?

Are you just trying to generate usenet traffic about newLisp?  Sad.

> programmers.  Alternatively, perhaps Clojure has certain advantages over
> newLISP that I am unaware of.

Eg closures?  Lexical scope?

> I am interested in determining whether Clojure is worth trying, and wish
> to compare it with newLISP to see any relative advantages/disadvantages
> of either.

This is your lucky day, as I have a definite answer for you: if you
are using newLisp, then either CL, Scheme of Clojure would be a huge
improvement.  Or C, at least it is an optimal language for _some_
applications -- again, the same cannot be said of newLisp.

T
From: Raffael Cavallaro
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <e0a200d4-b7ac-4548-8ba9-0fee388e5fef@f11g2000vbf.googlegroups.com>
On Mar 26, 7:48 am, Tamas K Papp <······@gmail.com> wrote:

> (* I don't want to get into a CL vs Clojure debate here.  Arguing
> about the relative merits of vanilla and chocolate ice cream is
> pointless when the third alternative is batshit).

You insensitive clod! batshit ^h^h^h^h newlisp is Benjamin's favorite
flavor!
From: Kazimir Majorinc
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <op.urewyxly1cfios@kazimir-pc>
On Thu, 26 Mar 2009 18:34:57 +0100, Raffael Cavallaro  
<················@gmail.com> wrote:

>
> You insensitive clod! batshit ^h^h^h^h newlisp is Benjamin's favorite
> flavor!

For those who didn't see this post, Raffael Cavallaro and I tried
to write macro that solves same problem in Common Lisp and Newlisp
respectively.

http://kazimirmajorinc.blogspot.com/2009/01/challenged-by-common-lispers.html

Judge for yourself.






--
Blog:    http://kazimirmajorinc.blogspot.com
WWW:     http://www.instprog.com
From: Benjamin L. Russell
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <7qtos4h2ajfi0n4od5l0enjq5h7hthqfq9@4ax.com>
On Thu, 26 Mar 2009 10:34:57 -0700 (PDT), Raffael Cavallaro
<················@gmail.com> wrote:

>On Mar 26, 7:48?am, Tamas K Papp <······@gmail.com> wrote:
>
>> (* I don't want to get into a CL vs Clojure debate here. ?Arguing
>> about the relative merits of vanilla and chocolate ice cream is
>> pointless when the third alternative is batshit).
>
>You insensitive clod! batshit ^h^h^h^h newlisp is Benjamin's favorite
>flavor!

Whatever gave you that idea?  I was trying to have a newLISP newsgroup
created initially because I had discovered a bug (now fixed) in its
evaluation of multi-line statements in its GUI REPL, and just wanted a
dialect-specific newsgroup where I could discuss the issue and have a
high probability of getting feedback specifically from newLISP users.
I hadn't wanted to try this newsgroup at first because this newsgroup
hadn't seemed frequented by newLISP users; most of the discussion
seemed to focus on Common Lisp.  I also hadn't wanted to post that
topic on the newLISP Web board because I didn't like that kind of
interface and wanted to write using my newsreader.

Then it seemed that in order to have the newsgroup created, I needed
to promote discussion, which required promoting the topic, which
required promoting the language, so I wound up promoting what I could
about the language.  Little did I realize what I was getting myself
into at first....

But I never once said that newLISP was my "favorite" flavor.  I merely
said that it was a "fun" language.  There are many languages that are
just as much fun as, if not more fun than, newLISP, especially for
hobbiests with exposure to a variety of functional programming
languages.

Currently, my "favorite" flavors are GHC Haskell, PLT / MIT/GNU /
Gauche / Bigloo Scheme, and Qi.  I like GHC Haskell for its static
typing, non-strict semantics, and pure functionality, and for the
theoretical nature of the discussions on Haskell Cafe.  I like PLT
Scheme because the people on the plt-scheme mailing list are extremely
friendly and helpful and write very interesting books, and because
DrScheme provides a nice GUI IDE with REPL which allows choosing
sub-languages of Scheme suited to studying specific books, or even
chapters of books.  I like MIT/GNU Scheme because it well suits doing
the exercises in SICP.  I like Gauche because it is an R5RS
implementation of Scheme with Unicode support.  I like Bigloo because
it is fast, and because the Bee is a great environment in Emacs.  I
like Qi because it is a dialect of Lisp that supports pattern
matching, both typed and untyped code, and can use Common Lisp
libraries, and because Mark Tarver writes very interesting books.

I could go on about some other functional programming languages I am
exploring, but you probably get the picture.  Different languages have
different merits, and are supported by different communities with
different foci.  I tend to study a different language each day,
depending on what seems most fascinating that day.

-- Benjamin L. Russell
-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." 
-- Matsuo Basho^ 
From: Tamas K Papp
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <733icrFrvlrnU1@mid.individual.net>
On Fri, 27 Mar 2009 16:25:41 +0900, Benjamin L. Russell wrote:

> Then it seemed that in order to have the newsgroup created, I needed to
> promote discussion, which required promoting the topic, which required
> promoting the language, so I wound up promoting what I could about the
> language.  Little did I realize what I was getting myself into at
> first....

Thanks for admitting that you are only trying to generate discussion
to have a newLisp ng created, not because you had something to
discuss.  I have bookmarked this article, and will be happy to refer
to it when the issue of a newLisp ng is raised again (if ever).

I hope that you realize that all your attempts to generate gratuitous
"discussion" about newLisp will be recognized as an abuse of Usenet,
and your proposals to create a newLisp ng will be judged accordingly.

Tamas
From: Benjamin L. Russell
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <nkdps4hoesv47bb0090kbn8f0f43on52f4@4ax.com>
On 27 Mar 2009 08:51:39 GMT, Tamas K Papp <······@gmail.com> wrote:

>On Fri, 27 Mar 2009 16:25:41 +0900, Benjamin L. Russell wrote:
>
>> Then it seemed that in order to have the newsgroup created, I needed to
>> promote discussion, which required promoting the topic, which required
>> promoting the language, so I wound up promoting what I could about the
>> language.  Little did I realize what I was getting myself into at
>> first....
>
>Thanks for admitting that you are only trying to generate discussion
>to have a newLisp ng created, not because you had something to
>discuss.  I have bookmarked this article, and will be happy to refer
>to it when the issue of a newLisp ng is raised again (if ever).
>
>I hope that you realize that all your attempts to generate gratuitous
>"discussion" about newLisp will be recognized as an abuse of Usenet,
>and your proposals to create a newLisp ng will be judged accordingly.

"Abuse of Usenet?"  Riiight.  When I posted a message to
news.groups.proposals urging creation of a comp.lang.lisp.newlisp
newsgroup, one respondent wrote back that "guiding the discussion" was
one of my "duties of a proponent," as follows:

> > > I also haven't checked the lisp newsgroup to know what sort
> > > of stumping/PR you've done there.
> >
> > I haven't done much there lately.
> 
> Maybe you don't understand the duties of a proponent.  Follow the discussion
> on appropriate groups.  Guide the discussion.  Do supporting PR for the group.
> All during the RFD process.  After the vote then look for at least one user on
> each of the major NSPs and get them to request the group be added.  Be a
> user on at least one NSP and make the request yourself.  Make sure the group
> gets some traffic in the first year by posting on topic at least monthly.

So by following the advice of one of the respondents on
new.groups.proposals for "guiding the discussion" in fulfilling my
"duties of a proponent," I was committing "an abuse of Usenet, and
[my] proposals to create a newLisp ng will be judged accordingly."

Riiight.  If I don't "guid[e] the discussion," then I get private a
private e-mail message from a member of news.groups.proposals
accusingme of not "fulfilling my duties as a proponent," and if I do,
then I get a respone on this newsgroup that that constitutes "an abuse
of Usenet."

I have bookmarked this article, and will be happy to refer to it if
any issue of your ever creating any newsgroup is raised (if ever).

-- Benjamin L. Russell
-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." 
-- Matsuo Basho^ 
From: John Thingstad
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <op.urglyvv2ut4oq5@pandora.alfanett.no>
P� Fri, 27 Mar 2009 12:41:52 +0100, skrev Benjamin L. Russell  
<············@yahoo.com>:

>
> So by following the advice of one of the respondents on
> new.groups.proposals for "guiding the discussion" in fulfilling my
> "duties of a proponent," I was committing "an abuse of Usenet, and
> [my] proposals to create a newLisp ng will be judged accordingly."
>
> Riiight.  If I don't "guid[e] the discussion," then I get private a
> private e-mail message from a member of news.groups.proposals
> accusingme of not "fulfilling my duties as a proponent," and if I do,
> then I get a respone on this newsgroup that that constitutes "an abuse
> of Usenet."
>
> I have bookmarked this article, and will be happy to refer to it if
> any issue of your ever creating any newsgroup is raised (if ever).
>
> -- Benjamin L. Russell


I agree. comp.lang.lisp is a general newsgroup for Lisp, not just Common  
Lisp. For instance Marc Tarver frequently discusses Qi here and CLojure  
also seems to be discussed at times. For reasons unknown to me Tomas G.  
Papp has some strong aversion to newLisp. I would argue that this is his  
view and does not reflect on the group as a whole. (I am merely  
uninterested..)

--------------
John Thingstad
From: namekuseijin
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <40415da9-3e45-4d29-b95e-15b3071eafd5@r15g2000vbi.googlegroups.com>
newLisp is yet another scripting language with lots of wrappers around
common programming APIs.  Clojure is a full-fledged language and
implementation, also benefiting from Java frameworks and tools.

newLisp doesn't even have lexical scope, thus their list of features
is more interested in showing immediate practical stuff, like IDEs and
library-support, that will cater to pragmatic programmers but won't
impress folks interested in new language design ideas.  Besides, I
don't like the authoritative tone in the choice of name.
From: namekuseijin
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <gqgr4o$7qo$1@adenine.netfront.net>
Also, Clojure's logo is cool and inspired, mixing a stylized lambda with 
a yin-yang.  What the hell is that dragonfly in newLisp's logo anyway?

namekuseijin escreveu:
> newLisp is yet another scripting language with lots of wrappers around
> common programming APIs.  Clojure is a full-fledged language and
> implementation, also benefiting from Java frameworks and tools.
> 
> newLisp doesn't even have lexical scope, thus their list of features
> is more interested in showing immediate practical stuff, like IDEs and
> library-support, that will cater to pragmatic programmers but won't
> impress folks interested in new language design ideas.  Besides, I
> don't like the authoritative tone in the choice of name.
> 


-- 
a game sig: http://tinyurl.com/d3rxz9
From: Kazimir Majorinc
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <op.ure5tvlz1cfios@kazimir-pc>
On Thu, 26 Mar 2009 20:24:48 +0100,

namekuseijin <············@gmail.com> wrote:

> newLisp is yet another scripting language with lots of wrappers around
> common programming APIs.  Clojure is a full-fledged language and
> implementation, also benefiting from Java frameworks and tools.
>
> newLisp doesn't even have lexical scope, thus their list of features
> is more interested in showing immediate practical stuff, like IDEs and
> library-support, that will cater to pragmatic programmers but won't
> impress folks interested in new language design ideas.  Besides, I
> don't like the authoritative tone in the choice of name.


I have to disagree with that. I started using Newlisp after I
used other Lisp dialects few years, mostly because of few
code=data related features not availiable in other languages:

* Unrestricted eval that works for local and global variables and
   doesn't require addional running time.

   (In almost all Lisp implementation, code containing eval is many
   times (up to 1500+ times) slower than same code out of eval)

* Dynamic scope. Because of that, in Newlisp one can define
   functions equally powerful as macros - for example, I defined
   function IF - standard example why one need macros in some
   Lisp dialects.

   Newlisp supports lexical scope in the form of contexts.

* Newlisp macros are actually fexprs, i.e. fexprs are not expanded
   during compile time, but evaluated during during runtime. Fexprs
   are simpler, and slower in normal code, but faster if used inside
   of eval (macroexpansion inside of eval is very slow).

   Additionally, Newlisp macros are the first class citizens, so
   one can use these as values, apply or map during runtime.

   Macros can be anonymous.

* Functions and macros evaluate to their own definitions,
   so one can not only use, apply and map functions (and macros)
   during runtime, but he can also analyze and mutate functions
   (and macros) during runtime.

These are not just any improvements, but improvements in
metaprogramming, code=data paradigm, and that paradigm is
specificity of Lisp. These features are not emphasized in
the introductory materials, but it is decision of the author
to present the language primarily as simple and practical,
suitable and interesting for wide number of programmers.
The majority of potential users are not primarily interested
in fexpr vs macros issue, but in practical side.

There are many other innovations, like FOOP - functional
object oriented programming, unification with occur check,
regular expressions, basic statistical functions ...

I agree that name is not the most fortunate, but it is not
that important. Generally, author of Newlisp is very helpful
person, and frequently accept requests for features.



--
Blog:    http://kazimirmajorinc.blogspot.com
WWW:     http://www.instprog.com
From: David Golden
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <gqhaq7$nng$1@aioe.org>
Kazimir Majorinc wrote:


> * Unrestricted eval that works for local and global variables and
>    doesn't require addional running time.
> 

probably everything is working at a crawl...

>    (In almost all Lisp implementation, code containing eval is many
>    times (up to 1500+ times) slower than same code out of eval)
> 

Do you even understand why that is?  I'd guess... no.

And don't forget, in CL, while EVAL evals in a null lexical environment,
you CAN splice in current values of lexical variables
into the sexps to be EVAL'd and pass new values out as a result of the
EVAL. And then set the lexical values to those new values.

I mean, if you want to.  Although it's kind of dumb. But you can do it,
I mean you've already Lost, why not Lose some more?

What do you think the following returns in common lisp?

(let ((a 3)
      (b 2))
   (multiple-value-setq (a b)
     (eval `(values (+ ,a ,b)
                    (- ,a ,b))))
   (list a b))







 
From: David Golden
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <gqhaup$nng$2@aioe.org>
David Golden wrote:

> And then set the lexical values to those new values. 
> 
^^^ lexical variables, bah.
From: Tamas K Papp
Subject: Re: Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <733hjiFt0vdfU1@mid.individual.net>
On Thu, 26 Mar 2009 22:54:57 +0100, Kazimir Majorinc wrote:

> I have to disagree with that. I started using Newlisp after I used other
> Lisp dialects few years, mostly because of few code=data related
> features not availiable in other languages:
> 
> * Unrestricted eval that works for local and global variables and
>    doesn't require addional running time.
> 
>    (In almost all Lisp implementation, code containing eval is many
>    times (up to 1500+ times) slower than same code out of eval)

That may be because newLisp is interpreted and everything must be slow
as hell.  I doubt that eval is slower in modern CL implementations
compared to newLisp, it is just that compiled code is so much faster
than the latter.

Next time you need to go somewhere, just crawl on your belly.  That
way you will not lose a lot of speed when you have to stop at a
traffic light.

> [ ... other similarly idiotic statements snipped ... ]
>
> These are not just any improvements, but improvements in
> metaprogramming, code=data paradigm, and that paradigm is specificity of
> Lisp. These features are not emphasized in the introductory materials,

Whenever you don't have a clue, just say the magic word "paradigm",
possibly multiple times.  newLisp paradigmatically integrates the
code-data meta-paradigm paradigmatic sub-paradigm paradigm, etc.

> but it is decision of the author to present the language primarily as
> simple and practical, suitable and interesting for wide number of
> programmers. The majority of potential users are not primarily
> interested in fexpr vs macros issue, but in practical side.

The author(s) of newLisp obviously didn't have a clue about language
design, and could not implement a compiler, closures, and a zillion
other things.  Trying to sell these as a "features" is rather weak.

I hope that you realize that your attempts to push newLisp are rather
pathetic.

Tamas
From: Tassilo Horn
Subject: Re: [newLISP] Comparison of merits between newLISP and Clojure?
Date: 
Message-ID: <878wmsfp3r.fsf@thinkpad.tsdh.de>
Benjamin L. Russell <············@Yahoo.com> writes:

Hi Benjamin,

> 1.  newLISP comes with a DrScheme-style GUI-based IDE complete with
> definitions and interactions panels, whereas apparently Clojure does
> not.  Does Clojure have a superior editing environment?

The emacs support for clojure is quite good.  There're clojure-mode and
swank-clojure, which lets you use SLIME with clojure.

> 2.  Clojure does not have first-class continuations.  Unfortunately, I
> discovered recently that neither does newLISP.  I wish to study
> continuations in PLAI (see
> http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/),
> as well as to continue studying SICP (see
> http://mitpress.mit.edu/sicp/).  Is this feasible using Clojure?

Someone has started to port the cl-cont library to clojure.  See

  ···································@googlegroups.com/msg11065.html

> 3.  newLISP has ORO (One Reference Only) automatic memory management
> (see http://www.newlisp.org/MemoryManagement.html), in which "Memory
> is not marked or reference-counted. Instead, a decision whether to
> delete a newly created memory object is made right after the memory
> object is created."  Does Clojure have a superior garbage collection
> mechanism?

It uses the garbage collector of the JVM.  So if an object isn't
referenced anymore, it'll be collected.

And you can use any Java classes directly, so you might use the
WeakReference or SoftReference from java.lang.ref if your application
benefits from it.

> 4.  I wish to study tail call optimization in SICP.  Since Clojure
> "uses the Java calling conventions, it cannot, and does not, make
> [...] tail call optimization guarantees" (see
> http://clojure.org/functional_programming, under "Recursive Looping").
> I am not sure about newLISP in this regard (the newLISP Manual and
> Reference (see http://www.newlisp.org/downloads/manual_frame.html))
> does not discuss tail call optimization.  Is there a way to study tail
> call optimization, as discussed in SICP, using Clojure?

In clojure you can create recursions that don't consume stack space
using the `recur' special form.  A non stack consuming mutual recursion
can be done with `trampoline'.  Another (often better) approach is to
use lazy sequences, so that only the values one actually uses are
calculated.

> 5.  Since I live in Japan, where the dominant language is Japanese, I
> wish to be able to use Japanese characters in my programs, thus
> necessitating Unicode support.  newLISP supports Unicode (see "newLISP
> - Features" at http://www.newlisp.org/index.cgi?Features, under
> "International").  I could not find any references to Unicode support
> for Clojure.  Does Clojure support Unicode?

Yes, java/the jvm support unicode, and so clojure does, too.

Bye,
Tassilo