0 | module Control.Functor.Indexed
6 | infixr 4 <<$>>
, <<$
, $>>
17 | interface IndexedFunctor x y (0 f : Type -> x -> y -> Type) | f where
19 | map : {0 j : x} -> {0 k : y} -> (a -> b) -> f a j k -> f b j k
23 | (<<$>>) : IndexedFunctor x y f => (a -> b) -> f a j k -> f b j k
28 | (<<&>>) : IndexedFunctor x y f => f a j k -> (a -> b) -> f b j k
29 | (<<&>>) = flip (<<$>>)
33 | (<<$) : IndexedFunctor x y f => b -> f a j k -> f b j k
38 | ($>>) : IndexedFunctor x y f => f a j k -> b -> f b j k
44 | ignore : IndexedFunctor x y f => f a j k -> f () j k
45 | ignore = map (const ())