So, the function type "(Num a)=>Integer->a" means that return value of this function can be cast to any particular instance of class Num.
Ok. I have a my own class "class A a" and want to write function like this "f:: (A a)=>Integer->a". Can I do it? 2008/1/21, Jon Fairbairn <[EMAIL PROTECTED]>: > > "Alexander Seliverstov" <[EMAIL PROTECTED]> writes: > > > How does caller choose which particular instance of Num they want? > > They specify the type... or just pass the result to > something that specifies the type. Try it in ghci: > > Prelude> let f:: Integral i => Integer -> i; f = fromIntegral > Prelude> let g :: Int -> Int; g = id > Prelude> :t g (f 5) > g (f 5) :: Int > Prelude> let h :: Integer -> Integer; h = id > Prelude> :t h (f 5) > h (f 5) :: Integer > Prelude> > > > What the difference between haskell class and interface in > object-oriented > > languge such Java or C#? > > Really they are completely different animals that look a lot > alike because they serve similar purposes -- convergent > evolution! > > -- > Jón Fairbairn [EMAIL PROTECTED] > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > -- С уважением, Селиверстов Александр
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe