My understanding of functional programming is that nearly everything is a function, and that evaluation of those functions is how programs are written.  Functional programming languages treat functions as first class values, allowing them to be passed to other functions and returned from functions.<div>
<br></div><div>In this sense Scheme qualifies as a functional language.  However Scheme will fail your definition because you&#39;re saying it must be effect free, which is not the case with Scheme.<div><br></div><div>It becomes difficult to have a discussion when the fundamental terms are not agreed upon :-)</div>
<div><br></div><div>Dave<br><br><div class="gmail_quote">On Thu, Dec 10, 2009 at 8:15 AM, John D. Earle <span dir="ltr">&lt;<a href="mailto:JohnDEarle@cox.net">JohnDEarle@cox.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">




<div style="padding-left:10px;padding-right:10px;padding-top:15px" name="Compose message area">
<div><font size="4" face="LM Mono 12"><font size="4" face="LM Mono 12">To elaborate 
there is another language that is also a functional language. I won&#39;t mention 
the name so as not to offend anyone. It too is effect free, that is what makes 
it functional and it is a functional language in the true sense of the term, but 
it is not effect free in the sense that Haskell is effect free. This other 
language is effect free in every practical sense whereas Haskell is effect free 
in a strict sense.</font></font></div></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div></div>