On Mon, Apr 26, 2010 at 2:55 PM, Thomas van Noort <[email protected]> wrote: > On 26-4-2010 20:12, Daniel Fischer wrote: >> >> Am Montag 26 April 2010 19:52:23 schrieb Thomas van Noort: >>> >>> ... >> >> Yes, y's type is more general than the type required by f, hence y is an >> acceptable argument for f - even z :: forall a b. a -> b -> Bool is. > > That's what I thought. I've just never seen such a notion of a more general > type involving overloading before. > >> >>> However, it requires y to throw away the provided >>> dictionary under the hood, which seems counter intuitive to me. >> >> Why? y doesn't need the dictionary, so it just ignores it. > > Sure, but y's type explicitly mentions that it doesn't want a dictionary, so > why would you provide one to it?
Actually, y's type doesn't say anything at all about dictionaries. That's a detail about GHC's implementation. y's type says it will accept two values of any type. f's type says it will provide two values of a type which is an instance of Eq. -- Dave Menendez <[email protected]> <http://www.eyrie.org/~zednenem/> _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
