4 ms·
Where did you get this definition?
by fnord123 9y ago
Where did you get this definition?
- crimsonalucard 9y agoIntuition and experience. The definition naturally occurs to you over time, I've never seen the isomorphism between immutability and functional expressions illustrated though. However, it is explicit that every functional language is immutable as a requirement. I'm sorry to say that if you don't understand this, you haven't really understood what functional programming is... You're just a guy who understands higher order functions.
- jcelerier 9y ago> Intuition and experience. ... > I'm sorry to say that if you don't understand this, you haven't really understood what functional programming is... you can't be serious can you ?
- crimsonalucard 9y agoI am dead serious. If you don't understand this: >The only technical requirement for you to follow the functional paradigm is immutability. Then you don't understand functional programming. I can't take you seriously if you claim otherwise. Obviously, you highly disagree with me. Feel free to elaborate rather than waste my time with obviously rhetorical questions.
- jcelerier 9y ago> The only technical requirement for you to follow the functional paradigm is immutability. So are you saying that for instance both CaML and LISP aren't FP ? Because both are certainly not about immutability and you can write mutable messes in either.
- crimsonalucard 9y agohttps://www.wikiwand.com/en/Functional_programming https://www.wikiwand.com/en/Functional_programming Read the first line: "In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It is a declarative programming paradigm, which means programming is done with expressions[1] or declarations[2] instead of statements." Key phrase: "avoids changing-state and mutable data." You can use C++ as if it was a functional language just like you can use LISP and CaML as if variables were mutable. However in both cases you are bending the language to follow a paradigm that is NOT functional.