From: Jay Cox
Subject: Re: Lisp: what can I do with it?
Date: 
Message-ID: <3AE9C1D8.465B9ECC@ramail.angelo.edu>
<Rant>
This is my third attempt write a reply to you (because I thought the
first two sounded snobbish and provocative) but you have two questions
that frankly irk me.  This is not about lisp or fp or computer languages
or implementations or even English. Its about general human
communication.  You ask in a public forum where %99 of the people dont
know you "Will I fail in X?" and "How long may I have to expect in order
to get a feeling of Y".  How can you expect to get a rational answer to
these questions from strangers?  How can we have any more but only a few
ideas as to your strengths or your motivations?   You have given the
newsgroup very little information as to your background (Examples :What
languages did youa attempt before you tried clean?  Have you studied (or
attempted a study) of functional programming? Do you want to learn
language X because of its libraries used in some implementation or its
features?)  I cannot possibly answer those questions without
reinterpretting the questions, misleading you, lying to you, or giving
you a large encyclopedic profile of cases where people failed or
succeded with the time/patience/motivation for each.

In the case of the "Is Lisp prepared for such tasks?" question, you
should know better.  To me that's like saying "Can you do (some task) in
Lisp?" which (if the task is an algorithm which is actually doable) to
wich the answer is trivially yes, forgoing any additional ram,
harddrive, or operating system interface requirements.  What you could
mean is "Does there exist a library in PowerLisp or some other Lisp
implementation which can load an in image into a matrix structure (so I
can use the FFT)?" or perhaps "Is there a lisp that allows for easy
image processing?"; this list is non exhaustive though.  You leave the
reader guessing; this is my point.  

And this is probably one of the reasons why you haven't seen any replys
to your message yet.  

</Rant>

But, now lets see if I can help you.

Comp.lang.functional is probably not the best place to get the answers
to your answerable questions.  Somebody on comp.lang.lisp (which is
incidentally pretty active) could probably help you in regaurd to your
Powerlisp questions.  

I suppose if you just jumped from the world of Java and C++ to Clean. 
Clean requires a very different programming method (since it is
purely-functional and lazy).  I would say its no wonder you "failed" at
your project if you didn't have the understanding required for
functional programming.  I do not have any real experienc with Clean
though its syntax and semantics seems very similar to Haskell, of which
I have some experience.

For lisp experience I can only tell you about my experience with scheme
(which I learned from SICP, which now happens to be on the web for free
http://mitpress.mit.edu/sicp/full-text/sicp/book/ )

Scheme, a member of the Lisp family, has quite a simple syntax.  It
wouldn't take long to learn it, however programming using recursive
functions, higher order functions and closures (like you could in Clean)
will take some time if you have been brainwashed by the C ways of doing
things.  It has no OOP class system in its language definition, though
you can do quite a bit of OOP like stuff just by using closures (for
some examples see chapter 3 in SICP).  Vars are mutable, so you are not
stuck to figuring out how to pass some state around or making your
functions purely functional.  SICP enlightend me so that I realized that
problems I once thought were hard to solve in C/C++ were actually
trivial and easily solvable with solutions succinctly expressable in
scheme.

As I understand it, Most lisps have a very similar syntax to scheme, so
most non-OOP lisp code  I have encounterd  is readable to me.  (Common
lisp however does have a class system, some  people are very impressed
by it.  I have no knowledge of it).

(hmmm, I wonder where I am going with this?)

I guess my point here is if you want to program in an imperative style
that you are used to you probably wont have much trouble with using some
variant of Lisp for your needs.  However, your code might not see the
true benifits of lisp in your project unless you do incorperate some
amount of functional (as in non-imperative) code. 


Jay Cox 
--
"Everyone is entitled to an *informed* opinion."
-- Harlan Ellison

Siegfried Gonzi wrote:
> 
> This post is in no way intended to be provocative.
>
> I downloaded (the free) PowerLisp for the Mac and installed it on the
> Mac.
> 
> Now I am totally confused what Lisp is good for. I thought I can call
> the Toolbox routines and therelike.
> 
> I red an article
> (http://www-aig.jpl.nasa.gov/public/home/gat/lisp-study.html) that Lisp
> compares good to Java and is even better (whatever that means). But in
> Java I have the tools to do image processing, GUIs,... But what in Lisp?
> Is that implementation dependent?
> 
> Will I fail in Lisp (like my experience with Clean) in implementing the
> FFT for an 1024x1024 array? Is Lisp prepared for such tasks? In
> PowerLisp there is the option to compile to native code?
> 
> I ask that all because I want to avoid myself for experiencing the same
> as with Clean.
> Yes I studied the Lisp FAQ, but I didn't get an enlightment.
> 
> How long may I have to expect in order to get a feeling of Lisp? Since a
> few weeks I study the book: "Teach yourself C++ in 21days". A "0" more
> "210 days" would be more appropiate, though I allready knew C before.
> 
> S. Gonzi