<?xml version="1.0" encoding="windows-1252"?>
<node id="87763" title="Learning functional programming (Book)" created="2001-06-12 10:28:19" updated="2005-07-27 06:03:00">
<type id="120">
perlmeditation</type>
<author id="25235">
larsen</author>
<data>
<field name="doctext">
&lt;blockquote&gt;
&lt;i&gt;A programmer who hasn't been exposed to all four of the imperative, functional, objective, and logical programming styles has one or more conceptual blindspots. It's like knowing how to boil but not fry. Programming is not a skill one develops in five easy lessons.&lt;/i&gt;
-- Tom Christiansen
&lt;/blockquote&gt;
&lt;p&gt;
I'd like to spend some of my time to learn functional programming languages.
I don't think I'll write an entire application in Lisp or Scheme; I'm more
interested in the &lt;i&gt;"enlightenment experience"&lt;/i&gt; that functional programming languages 
bring. In other terms, I think I'll design and write code better, after studying
some principles of functional programming. A good example of what I mean is the
[id://9108|Schwartzian Transform]. [merlyn] said (I can't remember where I've read it) that
he wrote it quite naturally, simply (if the word &lt;i&gt;'simply'&lt;/i&gt; is correct) because he
was trained to think, let's say, functionally :)&lt;p&gt;

So far so good. I know that the topic of functional programming has been treated
in the Monastery in the past. So I ask your help to build a book about 
&lt;strong&gt;Perl and Functional Programming&lt;/strong&gt; (the title is not so restrictive) 
using the material that is available in the Monastery so far, in the sense 
I've described [id://80479|here] ([id://80479]).&lt;p&gt;

So this node is &lt;i&gt;under construction&lt;/i&gt;.
First of all, I provide links to the nodes I've collected so far, waiting for 
you comments about &lt;i&gt;How to give a structure to them&lt;/i&gt; and &lt;i&gt;How to add value to them&lt;/i&gt;.

&lt;dl&gt;
&lt;dt&gt;[id://38772]&lt;/dt&gt;
&lt;dd&gt;A Lisp interpreter written in Perl&lt;/dd&gt;
&lt;dt&gt;[id://40423]&lt;/dt&gt; 
&lt;dt&gt;[id://82668]&lt;/dt&gt;
&lt;dt&gt;[id://82803]&lt;/dt&gt;
&lt;dt&gt;[id://86983]&lt;/dt&gt;
&lt;dt&gt;[id://60971]&lt;/dt&gt;
&lt;dt&gt;[id://34786]&lt;/dt&gt;
&lt;dt&gt;[id://80910]&lt;/dt&gt;
&lt;dd&gt;A Perl implementation of the concepts of &lt;i&gt;stream&lt;/i&gt; and &lt;i&gt;delayed evaluation&lt;/i&gt;, using tied arrays&lt;/dd&gt;
&lt;dt&gt;[id://9108]&lt;/dt&gt;
&lt;dt&gt;[id://136663]&lt;/dt&gt;
&lt;dd&gt;Computing the Hamming Sequence Functionally&lt;/dd&gt;
&lt;dt&gt;[id://44763]&lt;/dt&gt;
&lt;/dl&gt;

&lt;h3&gt;Links outside Perlmonks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;[http://perl.plover.com/book/|Perl Advanced Techniques Handbook]
&lt;li&gt;[http://slashdot.org/article.pl?sid=01/11/03/1726251|Kent M. Pitman Answers On Lisp And Much More] on [http://www.slashdot.org|/.]
&lt;/ul&gt;
&lt;p&gt;
&lt;small&gt;&lt;strong&gt;11/2/2001 Update:&lt;/strong&gt; Added "Outside Links" Section. Added quote from Tom Christiansen. Added some descriptions.&lt;/small&gt;
&lt;p&gt;
thank you</field>
</data>
</node>
