Revision as of 00:43, 10 November 2007
As an example,
Monomorphism is the opposite of polymorphism. That is, a function is polymorphic if it works for several different types - and thus, a function is monomorphic if it works only for one type.
map :: (a -> b) -> [a] -> [b]
However, the function
foo :: (Int -> Int) -> [Int] -> [Int] foo = map
Perhaps you were looking for monomorphism restriction?