3 ms·
That's not the 'original definition' of functional programming though.
by yawaramin 5y ago
That's not the 'original definition' of functional programming though.
- valenterry 5y agoThen what is it?
- yawaramin 5y agoWell, it varies from source to source. E.g. if we look at John Hughes' working definition from his 1984 paper 'Why Functional Programming Matters', then functional programming is programming with only pure functions with no side effects, assignment, or mutation. No mention is made of 'monad' or 'functor'. The rise of effect handling systems like monads in functional programming languages since the oughties was driven by the real-world need to, well, print 'Hello World' to the screen. And different practitioners have different opinions on how far to take effect management. Haskell is just one extreme, but there are several FP languages on the spectrum.
- valenterry 5y agoFair enough, my bad - that definition is what I use as well. I think I got a bit stuck up when OP said "aren't really required", because for the definition that's true, but for real world usage, it is required in pretty much every pure FP language that I know.