Well, it's important to remember that functional programming tends to use these terms at the airy-theoretical level, not the arithmetic level -- it's all about creating new *kinds* of objects. So instead of applying these concepts to numbers, you're creating new things that are kind of (but not exactly) like numbers, and describing how these principles relate to those objects.
The results can be pretty unintuitive, especially when you get into the theoretical definitions of things like "identity", which are horribly important for really understanding how to use powerful tools like monads. Hence, the desire to reduce the amount of jargon required in order to enter the field...
no subject
The results can be pretty unintuitive, especially when you get into the theoretical definitions of things like "identity", which are horribly important for really understanding how to use powerful tools like monads. Hence, the desire to reduce the amount of jargon required in order to enter the field...