[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



> Hi,
> 
> On Thu, 27 Jan 2005, John P. Healey wrote:
> 
> > I think the main thing I like about Lisp is that it's absolutely nothing like
> > perl, smalltalk, c, python, or java.  Whenever I sit down to try and write
> > something in lisp the way i would normally write it in {insert language here},
> > i find that lisp manages to accurately embody my ideas in the jumbled mess of
> > thought that they truly are.  At that point, I usually throw away whatever i've
> > written and rewrite a working copy in a tenth of the amount of code, simply by
> > abstracting it properly with macros.
> 
> I am interested in learning the functional programming paradigm.
> Are there any particular resources online/books you would recommend ?
> Also any advice about choosing one amongst LISP/Scheme ?

Why limit your options to Lisp and Scheme? (Though those are both good
languages to know.)  In fact, writing non-functional code in Lisp is
quite easy, so it's not necessarily a good choice for learning FP.

Haskell &lt;<a  rel="nofollow" href="http://www.haskell.org";>http://www.haskell.org</a>&gt; is a truly beautiful,
purely-functional language (no side-effects). It's very different from
Lisp or Scheme, or any other language I know, come to think of it.

O'Caml &lt;<a  rel="nofollow" href="http://www.ocaml.org/";>http://www.ocaml.org/</a>&gt; seems to be the Perl of FP. IIRC, it's
ML with OO extensions; ML was one of the very first functional
languages (possibly the very first, I'm not sure). Like Lisp, it
permits side effects. I have written a tiny bit of O'Caml code, but
the syntax is gross; I like Haskell better.

If you want something more traditional-looking, there's also SAC
(Single-Assignment C) &lt;<a  rel="nofollow" href="http://www.sac-home.org";>http://www.sac-home.org</a>&gt;, an
(almost?)-purely-functional derivative of C that seems to do a very
good job of appearing C-like while actually being side-effect free.

Cheers,

-- Joe

-- 
&quot;Meet the new boss / Same as the old boss...&quot; -- The Who
... Oh well, at least there's 2008.
--
pub  1024D/BA496D2B 2004-05-14 Joseph A Knapka
     Key fingerprint = 3BA2 FE72 3CBA D4C2 21E4  C9B4 3230 94D7 BA49 6D2B
If you really want to get my attention, send mail to
jknapka .at. kneuro .dot. net.


</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<hr>
<!--X-Follow-Ups-End-->
<!--X-References-->
<ul><li><strong>References</strong>:
<ul>
<li><strong><a name="01180" href="msg01180.html">[ale] Why LISP? (was Why Ruby?)</a></strong>
<ul><li><em>From:</em> sriad at uab.edu (Aditya Srinivasan)</li></ul></li>
</ul></li></ul>
<!--X-References-End-->
<!--X-BotPNI-->
<ul>
<li>Prev by Date:
<strong><a href="msg01247.html">[ale] Why LISP? (was Why Ruby?)</a></strong>
</li>
<li>Next by Date:
<strong><a href="msg01249.html">[ale] OT Speedfactory Problems Anyone?</a></strong>
</li>
<li>Previous by thread:
<strong><a href="msg01196.html">[ale] Why LISP?</a></strong>
</li>
<li>Next by thread:
<strong><a href="msg01247.html">[ale] Why LISP? (was Why Ruby?)</a></strong>
</li>
<li>Index(es):
<ul>
<li><a href="maillist.html#01248"><strong>Date</strong></a></li>
<li><a href="threads.html#01248"><strong>Thread</strong></a></li>
</ul>
</li>
</ul>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
</body>
</html>