Am Mittwoch 23 Dezember 2009 14:40:46 schrieb slemi: > i dont know any calculus-thingy, this is what i did: > > reMatr a = Matr . a . unMatr > reMatr a = Matr . (. unMatr) a > reMatr a = Matr . (flip (.) unMatr) a
You need to be aware of the implicit parentheses, that is Matr . ((flip (.) unMatr) a) or (.) Matr ((flip (.) unMatr) a) = ((.) Matr) ((flip (.) unMatr) a) = f (g x), with f = (.) Matr g = flip (.) unMatr x = a Now f (g x) = (f . g) x and you're done. But as Kim-Ee Yeoh pointed out, if you're pointfreeing, give type signatures, or the monomorphism restriction is going to surprise you some time. > reMatr = Matr . (flip (.) unMatr) _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
