On Fri, Aug 18, 2006 at 12:20:54AM +0100, Brian Hulley wrote: > data Integer = ... | -1 | 0 | 1 | ... > > tells me that the negative and positive integers are on an equal footing. > > Ie the language is sending out a "mixed message" about the integers, which > is confusing.
Not only that but there is a run-time penalty for every polymorphic negattive literal! -3 desugars to negate (fromInteger 3) rather than (fromInteger -3) so you end up having to do 2 dictionary lookups (one for fromInteger, one for negate) and indirect function calls rather than just the one. John -- John Meacham - ⑆repetae.net⑆john⑈ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe