12.03.2013, 02:53, "Richard A. O'Keefe" <o...@cs.otago.ac.nz>: > On 12/03/2013, at 10:00 AM, MigMit wrote: > >> On Mar 12, 2013, at 12:44 AM, "Richard A. O'Keefe" <o...@cs.otago.ac.nz> >> wrote: >>> Prelude> :type (+) >>> (+) :: Num a => a -> a -> a >>> >>> The predefined (+) in Haskell requires its arguments and its result >>> to be precisely the same type. >>> >>> I think you had better justify the claim that Date+Period -> Date and >>> Date+Period -> Period are possible at the same time by showing us >>> actual code. >> Ehm... >> >> import Prelude hiding (Num) >> class SumDP a where (+) :: Date -> Period -> a >> instance SumDP Date where date + period = <your_implementation_here> >> instance SumDP Period where date + period = <and_here> > > Notice the difference? > I said that THE PREDEFINED (+) in Haskell requires its arguments > and its result to be precisely the same type. > > This example is not the predefined (+); it's another variable > entirely that happens to have the same short name and cannot > also add integers.
So? You've said: > I think you had better justify the claim that Date+Period -> Date and > Date+Period -> Period are possible at the same time by showing us > actual code. You didn't say THIS (+) should be the "predefined" one. And, since you were replying to what Carlos said, and he didn't say it either, my code is still a valid example. Of course, you can refine your request so that it would mention the "predefined" (+), but that would be off-topic here. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe