Open Icelandjack opened 7 years ago
A counter point is that the normal argument order allows for a Profunctor1
instance
class Profunctor1 p where
dimap1 :: (f' ~> f) -> (g ~> g') -> (p f g ~> p f' g')
instance Profunctor1 Ran where
dimap1 :: (f' ~> f) -> (g ~> g') -> (Ran f g ~> Ran f' g')
dimap1 f g (Ran h) = Ran $ \i -> g (h (f . i))
There is some talk on reddit if the functor arguments of
Ran
,Lan
should be swapped, for example definingibind
andiextend
for themyields a swapped argument order from the type class
Thoughts?