Hi

(2,5) whose type is "T a"

No, try expanding the type synonyms:

mkT :: a -> T a
mkT :: a -> Z -> (a, Z)
mkT :: a -> Int -> (a, Int)

The type of (2,5) is (a, Int), or in this specific case (Int, Int).

they return the same stuff with different types. Onle myT will return a
type of type "T a".
The type T is only a type alias, everywhere you can see T you can
rewrite it. If mkT1 is applied to one argument, which is an Int, then
you have a type T as a result.

For example, the type of "Test" is all of FilePath, [Char], String -
all at the same time, since they are aliases for each other.

Thanks

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

Reply via email to