[Haskell-cafe] Intuition to understand ...
Albert Y. C. Lai
trebla at vex.net
Wed Jul 30 19:29:03 UTC 2014
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.
More information about the Haskell-Cafe
mailing list