
On 22 Dec 2008, at 15:18, Andrew Wagner wrote:
Yes, of course, sorry for the typo.
On Mon, Dec 22, 2008 at 9:17 AM, Denis Bueno
wrote: 2008/12/22 Andrew Wagner : The problem here is even slightly deeper than you might realize. For example, what if you have a list of functions. How do you compare two functions to each other to see if they're equal? There is no good way really to do it! So, not only is == not completely polymorphic, but it CAN'T be.
There is a nice solution for this, however, and it's very simple:
contain :: Eq a -> [a] -> Bool
Please note that the syntax here should be:
contain :: Eq a => a -> [a] -> Bool
Denis
Of note, unless this is an exercise, such a function already exists -- it's called elem. How do you find such a function? You search on haskell.org/hoogle. http://haskell.org/hoogle/?hoogle=Eq+a+%3D%3E+a+-%3E+%5Ba%5D+-%3E+Bool Bob