3 ms·
Articles like this really make me think of the No True Scotsman fallacy. https://en.wikipedia.org/wiki/No_true_Scotsman https://en.wikipedia.org/wiki/No_true_Sc
by oppositelock 10y ago
Articles like this really make me think of the No True Scotsman fallacy.
https://en.wikipedia.org/wiki/No_true_Scotsman https://en.wikipedia.org/wiki/No_true_Scotsman
Yes, compared to pure lambda calculus, lisp is not purely functional. In the space of programming languages, it's a functional programming language more so than any other kind.
- the_duke 10y agoWould you care to counter the arguments the article brings up, then?
- weatherlight 10y agoA calculus is a “formal system”, i.e. a set of rules to do something. The rules of the Lambda Calculus describe computation. Any language that has anonymous functions which behave as closures and can be passed around freely immediately contains an encoding of the lambda calculus. Anonymous functions correspond to lambda expressions, except that in the LC functions always have exactly one argument. A program is usually said to be functional when it uses some concepts of functional programming, such as first-class functions and higher-order functions. However, a first-class function may use techniques from the imperative paradigm, such as arrays or input/output methods are not purely functional programs, therefore the first-class function needs not be purely functional. Lisp is an "impure" functional language by the current definition. However, The main article is absurd. Lisp may not be a "Pure" functional language but it is a still a functional language.
- reikonomusha 10y agoThe author defined what he meant by functional, and by that definition, he is correct. If you change the definition of "functional" to "a language with first class functions and stateful closures", as you seem to implicitly want, then yes, Lisp is functional.
- jedimastert 10y agoI suppose, then, it's a bit closer to moving the target