[Haskell-cafe] Monad pronounced like gonad?

Jules Bean jules at jellybean.co.uk
Fri May 11 04:38:51 EDT 2007


[If I sound definitive below, it's because I am stating facts; but they 
are facts about the community of mathematicians and computer scientists 
I have interacted with in person. I'm sure other physically-connected 
communities have adopted different conventions]

Dan Piponi wrote:
> A more pressing question. How do you pronounce the following:
>
> ->

In types, or logical formulae, "arrow". The type of ($) is pronounced

<said fast> A arrow B <now slower> arrow A arrow B

where inflection or variation in pause length suffices for the 
parentheses to be implied. In much more complex expressions you probably 
have to write them down whilst speaking and point as you go. I've seen 
people use their hands to indicate parenthesis; lightly cupped each side 
of the head, rather like the 'bunny-ears for quotation' thing some 
people do.


In a lambda expression, the arrow simply isn't read at all.  \x -> x + 1 
is read "lambda X X plus one". Some people would read the arrow as 
'dot', "lambda X dot X plus one" which is a reflection of the fact that 
haskell's '->' is the same thing as a 'church dot'.

> <-

I've most often heard this read 'gets'. Note that this symbol is often 
used for assignment when discussing simple languages (e.g. algol-like).

>
> []

"nil".  Similarly ':' is often read 'cons'.


I've heard it suggested that '>>=' be read 'bind' or 'binds' and >> as 
'then'.


Back to the thread, I concur with the post who points to 'monomorphism' 
and 'monoid'. In category theory a morphism is described as 'mono' if it 
has the obvious generalisation of what monomorphism normally means; I 
can't imagine anybody pronouncing that 'Moe No'. By analogy, monad and 
monoid have always been pronounced with a short first O in my hearing. 
It may be different outside the UK.

Jules



More information about the Haskell-Cafe mailing list