Those are not demonstrations of the defaulting rules in action though.
As far as I know, :t is agnostic to those and will keep showing the original polymorphic version, since you're not in a context where GHC has to sacrifice the polymorphic type and commit to a monomorphic one using a default, like when expressions are evaluated.
Also I think that's effective just for the REPL (it uses extended defaulting rules that are more lax) and is done for convenience. If it was during a GHC build, you'd get loud warning when something is defaulted.
Try `reverse []` for fun vs. `:t reverse []`.
Hi,i read that the default type for Num is Integer.If we specify a type for one of the arguments::t (1 + 1::Double) is DoubleIf we don't, i expect the default type for Num to come into play:However :t (1 + 1) is Num a => aWhy is that so?--Best Regards,Boon Hui
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners