I bet you can find an abundance of C programmers who think that
"strcmp" is an intuitive name for string comparison (rather than compression, say).

But at least, 'strcmp' is not a common English language term, to have acquired some unintentional 'intuition' by being familiar with it even in our daily life. The Haskell terms, say, 'return' and 'lift', on the other hand, do have usage in common English, so even a person with _no_ programming background would have acquired some unintentional 'intuition' by being familiar with them.

And in that light, _for_me_, 'lift' is more _intuitive_ than 'return' or 'pure'. It seems, to me, like the thing being 'lifted' from a given world into a more 'abstract' world.

Of course, I recall reading somewhere: a poet is a person who uses the different words to mean the same thing, while a mathematician is a person who ascribes more meanings to the same word.

Haskell, being originated from _mathy_ people, we do get to _enjoy_ this effect.
Having said this, it has actually helped me build a different type of 'intuition' for words and I do enjoy it.

 

Thanks and regards,
-Damodar Kulkarni


On Wed, Aug 7, 2013 at 6:40 AM, Richard A. O'Keefe <ok@cs.otago.ac.nz> wrote:

On 6/08/2013, at 9:28 PM, J. Stutterheim wrote:

> That argument makes sense, although I find it a bit counter-intuitive still.

In discussions like this, I have never been able to discover any meaning for
"intuitive" other than "familiar".  Applying "pure" to an IO operation doesn't
go against *my* intuition because Haskell has *trained* my intuition to
see 'putStrLn "Hi"' as a pure value; it's not the thing itself that has effects,
but its interpretation by an outer engine, just as my magnetic card key has by
itself no power to open doors, but the magnetic reader that looks at the card
_does_.  I don't attribute agency to the card!  I'm not arguing that my
intuition is _right_, only that it is _different_.

In particular, for anyone who has much experience with Haskell, "return" is
almost the only name that could possibly be intuitive because that _is_ the
name that is familiar.  Haskell programmers who've got used to Applicative
will also find "pure" intuitive, *because it is familiar*.

I bet you can find an abundance of C programmers who think that
"strcmp" is an intuitive name for string comparison (rather than compression, say).



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe