
15 Jul
2012
15 Jul
'12
2:22 p.m.
Ross Paterson
Though one possibility that might get us most of the way there would be to refactor the Arrow class as
class PreArrow a where premap :: (b -> b') -> a b' c -> a b c
Note that you are reinventing the 'profunctors' package here. Every arrow forms a profunctor with the following identities: lmap = flip (<<^) rmap = fmap or alternatively: rmap = (^<<) Greets, Ertugrul -- Not to be or to be and (not to be or to be and (not to be or to be and (not to be or to be and ... that is the list monad.