
[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