
On 14-07-30 02:00 PM, martin wrote:
When I do math, I do similar things. Particularly in algebra I don't ask myself what e.g. a cubic root does, because I know the laws of roots and I know what I can do with the symbols.
However, for other things, like an integral or a gradient I have a strong intuition. I have intuition for some of the simpler things in haskell too. For functions, folds and functors I have some intuition.
In math, the only ways I know of to get a better intuition is practice and a good teacher. Maybe it is the same in haskell?
What, exactly, is intuition? Or, ironically, we shouldn't be asking that, just like we shouldn't be asking "what, exactly, is a set, or a number, or a cubic root?". Perhaps we should be asking: Where, exactly, does intuition come from? http://www.vex.net/~trebla/weblog/intuitive.html It seems logically obvious to me: If you are learning something new to you, then by definition of "new to you", you are not supposed to have any intuition yet (any correct intuition anyway --- oh, the human brain is great at manufacturing all kinds of wrong intuitions). You are supposed to practice the rules a lot, and then you gain intuition. I am always fond of citing Chess as an example. I don't think any Chess teachers teach intuition first, rules later. I'm pretty sure it's the other way round. And most likely they don't even tell you the intuition "control the centre" until you've practiced a million hours or something. And then, I don't value intuition very highly, certainly not as highly as most other people. Intuition is a great accelerator when it's right, but you never know whether it's right a priori. Symbolic manipulation has the final say. And symbolic manipulation teaches you new, correct intuition sometimes. Regarding bind and join, I find bind more obvious for some examples, and join for some other examples. I'm sure it is subjective.