From: Peter Seibel
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <m3lle8ivls.fsf@javamonkey.com>
Andr� Thieme <······························@justmail.de> writes:

> Hi Frank,
>
>> Java is a bit better (it has integrated memory managment), but you
>> can't built so nice abstractions like in Lisp or C++, so you have to
>> write more code, which is less understandable and more error prone
>> than the same in Lisp.
>
> Could you please tell me about some abstractions which you are not
> able to build in Java?

Syntactic abstractions.

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp

From: Pascal Costanza
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <ckobc9$12k2$2@f1node01.rhrz.uni-bonn.de>
Peter Seibel wrote:

> Andr� Thieme <······························@justmail.de> writes:
> 
>>Hi Frank,
>>
>>>Java is a bit better (it has integrated memory managment), but you
>>>can't built so nice abstractions like in Lisp or C++, so you have to
>>>write more code, which is less understandable and more error prone
>>>than the same in Lisp.
>>
>>Could you please tell me about some abstractions which you are not
>>able to build in Java?
> 
> Syntactic abstractions.

Of course you can - see http://jse.sf.net

It's not about "not able to build", but about "can't build so nice".


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: William Bland
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <pan.2004.10.15.16.46.14.302730@abstractnonsense.com>
On Fri, 15 Oct 2004 18:02:34 +0200, Christophe Turle wrote:

> "William Bland" <·······@abstractnonsense.com> a �crit dans le message de
>>
>> One possibility I've been considering recently:  If there was a Java->Sava
>> translator then I could transform the Java into Sava, then use Lisp
>> functions to manipulate the Sava code, then transform it back into Java
>> and compile it. That might work pretty well actually.
>>
> 
> And why not writing directly into sava ? take a look at the link below.
> 

Because there are over 100,000 lines of Java code in the project I'm
working on, and I'm the only person on this team who likes Lisp -
everyone else loves Java (but they look to me to accomplish various
meta-programming tasks). Sava does look potentially useful, but it won't
be usable as part of this project until there's a Java->Sava translator...
maybe I'll get around to writing one someday.

Cheers,
	Bill.
-- 
"If you give someone Fortran, he has Fortran. If you give someone Lisp,
he has any language he pleases." -- Guy Steele
From: Peter Seibel
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <m3d5zkhrba.fsf@javamonkey.com>
Pascal Costanza <········@web.de> writes:

> Peter Seibel wrote:
>
>> Andr� Thieme <······························@justmail.de> writes:
>> 
>>>Hi Frank,
>>>
>>>>Java is a bit better (it has integrated memory managment), but you
>>>>can't built so nice abstractions like in Lisp or C++, so you have to
>>>>write more code, which is less understandable and more error prone
>>>>than the same in Lisp.
>>>
>>>Could you please tell me about some abstractions which you are not
>>>able to build in Java?
>> Syntactic abstractions.
>
> Of course you can - see http://jse.sf.net
>
> It's not about "not able to build", but about "can't build so nice".

Yeah, yeah, the Turing Tarpit. Which is especially deep and sticky if
you allow preprocessors such as JSE. I'd argue that just because JSE
is written in Java and generates Java eventually doesn't mean that
you're writing "in Java" if you're using JSE; you're writing in
Java+JSE which is a different language because Java itself provides no
mechanism for syntactic extension.

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Thomas F. Burdick
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <xcv3c0d2jdv.fsf@conquest.OCF.Berkeley.EDU>
> >> Andr� Thieme <······························@justmail.de> writes:
> >> 
> >>>Could you please tell me about some abstractions which you are not
> >>>able to build in Java?

> > Peter Seibel wrote:
> >
> >> Syntactic abstractions.

> Pascal Costanza <········@web.de> writes:
> 
> > Of course you can - see http://jse.sf.net
> >
> > It's not about "not able to build", but about "can't build so nice".

Peter Seibel <·····@javamonkey.com> writes:

> Yeah, yeah, the Turing Tarpit. Which is especially deep and sticky if
> you allow preprocessors such as JSE. I'd argue that just because JSE
> is written in Java and generates Java eventually doesn't mean that
> you're writing "in Java" if you're using JSE; you're writing in
> Java+JSE which is a different language because Java itself provides no
> mechanism for syntactic extension.

Before I learned CL, someone told me, "If you make everyone use your
nonstandard C++ preprocessor, they'll hate you.  If you make them use
your funky hacked compiler, they'll lynch you."  Now, had I convinced
the project manager that we should write the program in
ThatC++LikeLanguageThatBurdickWroteAndWeHaveToMaintain, that'd have
been a different situation.
From: Frank Buss
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <ckpaha$hoc$1@newsreader2.netcologne.de>
Pascal Costanza <········@web.de> wrote:

>> Syntactic abstractions.
> 
> Of course you can - see http://jse.sf.net

No, you can't. Of course, there are tools for doing such things, but this 
is not pure Java any more, but some kinds of preprocessors. In Lisp it is 
all pure Lisp, if you develop your own enhancements for your specific 
problems.

-- 
Frank Bu�, ··@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
From: Tayssir John Gabbour
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <1097907566.776092.49940@z14g2000cwz.googlegroups.com>
Peter Seibel <·····@javamonkey.com> wrote in message
news:<··············@javamonkey.com>...
> André Thieme <······························@justmail.de> writes:
> > Could you please tell me about some abstractions which you are not
> > able to build in Java?
>
> Syntactic abstractions.

Two things come to mind.

1) I don't actually use macros that much. But I do use OTHER peoples'
macros. Loop is an obvious example. So is the Conditions System. I
think people get the wrong idea of macros, that it's something which
makes people go nuts. But in reality there's a sort of economy where
macros let good language ideas evolve. Bad ideas die with the failed
projects, or don't get circulated as easily through opensource
projects.

2) Meat & potatoes aspects don't get emphasized enough. It's not the
fancy junk which draws people to Lisp. For example, you don't get far
with bad errorhandling. Lisp supports good errorhandling; I don't know
what else to call it if people are stuck in the stone age with
exceptions and errorcodes. And these languages' users don't tell their
benevolent dictators to do their jobs and investigate putting in these
better resources.

MfG,
Tayssir