HaskellWiki

Haskell | Wiki community | Recent changes
Random page | Special pages

 

Not logged in
Log in | Help

Monomorphism

Categories: Glossary

drontrcnad

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.

As an example, map is polymorphic. It's type is simply

map :: (a -> b) -> [a] -> [b]

However, the function

foo :: (Int -> Int) -> [Int] -> [Int]
foo = map

performs an identical operation to map (as is evident from the second line), but has a monomorphic type; it will only accept lists of Int and functions over them.

Perhaps you were looking for monomorphism restriction?

Retrieved from "http://www.haskell.org/haskellwiki/Monomorphism"

This page has been accessed 715 times. This page was last modified 14:24, 10 July 2008. Recent content is available under a simple permissive license.