Though the qualifier "functional" is often used in a discrete sense (either a language is functional or it is not), I think that it is useful to consider degrees of functionality. Compare the properties of a language to those of the functional programming paradigm described on Wikipedia to see how functional it is.
When using "functional" in a discrete sense, I consider a language functional if it (1) encourages programming with higher-order functions and recursion and (2) provides library functions that are pure.
Ruby and Python, for example, do indeed support functional concepts (first-class and higher-order functions, etc.), but I would not consider them functional because their standard libraries rely on side-effects and iteration.
1 comment
[ 0.18 ms ] story [ 13.0 ms ] threadWhen using "functional" in a discrete sense, I consider a language functional if it (1) encourages programming with higher-order functions and recursion and (2) provides library functions that are pure.
Ruby and Python, for example, do indeed support functional concepts (first-class and higher-order functions, etc.), but I would not consider them functional because their standard libraries rely on side-effects and iteration.