[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