
Lukas Mai wrote:
Am Donnerstag, 12. Juli 2007 20:14 schrieb Andrew Coppin:
The only thing the libraries provide, as far as I can tell, is the fact that tuples are all Functors. (In other words, you can apply some function to all the elements to get a new tuple.) I think that's about it. I doubt you can use that to define lifting functions...
Actually, they aren't (Functors).
Oh. Kay... well that makes me look *very* intelligent. :-}
(,) takes two type arguments, (,,) takes three, etc. class Functor f requires f to take one type argument.
Ah. A kind error. Yes, you're right about that... oops.
Besides, what should fmap (+1) (3, 4, "foo") do?
I was assuming it's only defined for (a,a), not for (a,b)...
(Somewhere in the libraries there is an instance Functor (,) a where fmap f (x, y) = (x, f y) but that's probably not what you expected.)
Indeed. Oh well...