At Mon, 16 Apr 2007 13:44:13 +0100, Neil Mitchell wrote: > > Hi, > So my question is if this is safe? Will the compiler always pick the > "right one"? Is there a better way to do this?
I noticed that the results can be a bit suprising sometimes. See if you can predict the answers to these (in ghci): > same 1 1 > let x = (undefined :: a) in same x x > f :: a -> Bool > f a = same a a > f (undefined :: a) Here is what ghci says: *Main> same 1 1 False *Main> :t 1 1 :: forall t. (Num t) => t *Main> let x = (undefined :: a) in same x x False > f :: a -> Bool > f a = same a a *Main> f (undefined :: a) True I'm not saying anything is wrong here. Just be careful how you use it :) j. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
