"Functional" is a manner of abstraction, but "pure functional" gives the nice guarantees like referential transparency and lazy evaluation. --[[Special:Contributions/72.226.86.106|72.226.86.106]] ([[User talk:72.226.86.106|talk]]) 02:37, 11 July 2015 (UTC)
== D language? ==
http://en.wikipedia.org/wiki/Functional_programming#D <- Why is D chosen as an example of an imperative language that also does functional programming? This trend of filling all Wikipedia pages with advertisements of D makes me vomit. I don't see any reason why D should be considered in this context. It's an unpopular language without formal semantics.. The language author didn't even know what higher order functions are some years ago (see [https://groups.google.com/forum/#!topic/comp.lang.misc/gOZWUGWVmCw Jon Harrop vs Walter Bright]). [[Special:Contributions/84.250.47.87|84.250.47.87]] ([[User talk:84.250.47.87|talk]]) 03:00, 17 February 2015 (UTC)
:D is pretty similar to C. I found the example helpful in its familiarity. Even if it is unpopular (currently [http://langpop.com/ ranked 15th on langpop], over the other example languages) and despite any faults it may have for functional programming ({{citeneeded}}?), it is useful for examples just by being familiar to C-family programmers. --[[Special:Contributions/72.226.86.106|72.226.86.106]] ([[User talk:72.226.86.106|talk]]) 18:54, 10 July 2015 (UTC)
== The section on non-functional languages ==
<blockquote>First-class functions have slowly been added to mainstream languages. For example, in early 1994, support for lambda, filter, map, and reduce was added to Python. Then during the development of Python 3000, Guido van Rossum called for the removal of these features.[44] However, he later changed his mind, and only reduce was removed,[45] though it remains accessible via the functools standard library module.[46]</blockquote>
This seems to equate first-class functions with lambda, map, filter, and reduce. Python had first-class functions from the beginning (Guido: "... I had made functions first-class objects..."[http://python-history.blogspot.de/2009/04/origins-of-pythons-functional-features.html]). Python shouldn't be listed as a language that ''added'' first-class functions.
C/C++ has passing of function pointers, and C++ templating allow them to be used without fully specifying type. The C++ standard [http://www.cplusplus.com/reference/algorithm/ <code><algorithm></code> header] has many functions which take functions as parameters, and the [http://www.cplusplus.com/reference/functional/ <code><functional></code> header] helps make and use function objects. C++11 added ''anonymous'' function support, and those lambdas can have closures. Functions are no more and no less first-class than before.
Javascript deserves a mention. [[Douglas Crockford]] calls it a "Lisp in C's clothing".[http://www.crockford.com/javascript/javascript.html] It has first-class functions, closures, and anonymous functions, and it's common to pass functions as arguments.
--[[Special:Contributions/72.226.86.106|72.226.86.106]] ([[User talk:72.226.86.106|talk]]) 00:53, 11 July 2015 (UTC)
== The lede - as opposed to? ==
|