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.

In this sense Scheme qualifies as a functional language.  However Scheme will fail your definition because you're saying it must be effect free, which is not the case with Scheme.

It becomes difficult to have a discussion when the fundamental terms are not agreed upon :-)

Dave

On Thu, Dec 10, 2009 at 8:15 AM, John D. Earle <JohnDEarle@cox.net> wrote:
To elaborate there is another language that is also a functional language. I won'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.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe