> So, the name of a type is always at least a full word, as are the names of
> specific functions. But type variables are almost always single
> characters, and distinct from the names of any type. Conventionally, they
> are also usually "a", "b", and "c", although "m" is for monad.
Personally I find the convention of using `a', `b', and `c' for type
variables to be a poor one. I much prefer using `t' (if there's
only one) or `t1', `t2', ... (if there's more than one).
I find that for me this makes it much easier to read type declarations,
because names like `a', `b', and `c' sound like values, whereas names
like `t1', `t2', and `t3' suggest types.
In particular cases, I use more mnemonic names,
e.g. `k' and `v' for key and value types.
--
Fergus Henderson <[EMAIL PROTECTED]> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED] | -- the last words of T. S. Garp.