I don't understand the opposition to changing the default default to
Integer. This certainly won't break anything in any sort of serious
way (only for exported values with no type signature attached),
probably has only a minimal effect on performance - quite easily
corrected using type signatures or a new default declaration - and is
certainly something that novices stub their toes on frequently. Pity
the poor Hugs user that types in
factorial 20
and finds that the answer is -2102132736. Even putting in a decent
error message ("Int overflow in line 2" or something) really doesn't
help the user that expects this to work. Int is really not a nice
datatype and we shouldn't be allowing it to crop up unexpectedly. If
we're so worried about unexpected overloading for the poor novice user
why aren't we just as worried about unexpectedly throwing them into a
numeric domain in which most of the operations may fail, often silently?
Let's keep users in a semanticly well-defined area (Integer) instead
of accidently letting them stray into Int?
John