# functions not in type classes

**Yoann Padioleau
**
Yoann.Padioleau@irisa.fr

*18 Jan 2002 12:18:20 +0100*

"Cagdas Ozgenc" <co19@cornell.edu> writes:
>* Greetings.
*>*
*>* Why does Haskell let you write functions that are not a part of type class?
*>* For example instead of
*
the goal of type class is to allow overloading of function, so for example
id x = x is not subject to overloading => no use to put it in a type class.
>*
*>* elem :: Eq a => a -> [a] -> Bool
*>* map :: (a -> b) -> [a] -> [b]
*>*
*>* class Container a where
*>* elem :: Eq b => b -> a b -> Bool
*>* map :: (b -> c) -> a b -> a c
*>*
*>* would define methods that can work on all containers, and create a
*>* discipline to write more reusable and generic functions.
*
yes, that's right that map and elem could be put in a type class, but that's hard and require
more advanced feature of haskell (here you use constructor class but you need more : multi-parameter class, ....)
see http://www.cse.ogi.edu/~mpj/fds.html.
>*
*>* Thanks
*>*
*>*
*>* _______________________________________________
*>* Haskell-Cafe mailing list
*>* Haskell-Cafe@haskell.org
*>* http://www.haskell.org/mailman/listinfo/haskell-cafe
*>*
*
--
Yoann Padioleau, INSA de Rennes, France,
Opinions expressed here are only mine. Je n'écris qu'à titre personnel.
**____ Get Free. Be Smart. Simply use Linux and Free Software. ____**