4 ms·
They're both, right? It's not like it specifically ignores the inputs and outputs of those operations. These are specifically entailed in the definition of the
by darby_nine 2y ago
They're both, right? It's not like it specifically ignores the inputs and outputs of those operations. These are specifically entailed in the definition of the monad.
I strongly, strongly suspect there's something about how F# processes monads in the context of a do expression that explains what is the focus here.
Unfortunately I don't have the time to go through the steps now, hence why I specifically recommended modifying the introduction to give some clue about the terms involved.
- Izkata 2y agoAn "if" statement or "map" function also has inputs and outputs and probably some internal state due to implementation details, but we don't say they represent state either. They represent operations, or a sequence of operations.
- darby_nine 2y ago> An "if" statement or "map" function also has inputs and outputs and probably some internal state due to implementation details, but we don't say they represent state either. They absolutely are in the context of a program and not just abstract expression, which never matters. The distinction strikes me as meaningless. At the very least it's worth qualifying with "mutable state" if that's the attribute of state you care about. There's still "constant expressions" as other forms of values and "statically initialized values" as other forms of state.