2008/1/21 Alexander Seliverstov <[EMAIL PROTECTED]>:

> Hi, I try to undestand why this code dosen't work
>
> f :: (Num a)=>Integer->a
>
> f i = i
>
> Integer is an instance of Num, so why does this code produce error:
> "Couldn't  match expected type 'a' againsta inferred type 'Integer' ..."
>
But the type of this function says that it can return *any* instance of Num
-- that is, the caller gets to choose which particular instance of Num they
want.  This function can only ever return an Integer.

There is actually a function of this type, however; it's called
fromIntegral.  It works because it is a member of the Num type class.

-Brent
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to