On 11-jan-2007, at 16:30, Marco Túlio Gontijo e Silva wrote:

Em Qui, 2007-01-11 às 16:14 +0100, minh thu escreveu:
you might want invistigate "heterogeneous lists" : in your case, it's
"heterogeneous typle".

But aren't tuples always heterogeneous?

Yes, and precisely therein lies the problem. There is no way
for the compiler to infer that in

tupleMap f (a, b) = (f a, f b)

the type of f should be polymorphic. If you want it to be,
explicitly require it to be so:

tupleMap :: (forall a b . a -> b) -> (b,c) -> (d,e)
tupleMap f (a,b) = (f a, f b)

However, this will still not allow you to write

tupleMap show ("string",3)

as you require f to be fully polymorphic, and not constrained by any
context.

With regards, Arthur.

-- /\ / | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt / \/__ | you can dare to be yourself | Dance like there's nobody watching



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

Reply via email to