Safe Haskell | None |
---|---|

Language | Haskell2010 |

- class Typeable p => StaticProfunctor p where

# Documentation

class Typeable p => StaticProfunctor p where Source #

Instances of `StaticProfunctor`

should satisfy the following laws:

`staticDimap`

(static id) (static id) = static id`staticLmap`

(static id) = static id`staticRmap`

(static id) = static id`staticDimap`

f g = staticLmap f . staticRmap g

staticDimap :: (Typeable a, Typeable b, Typeable c, Typeable d) => Closure (a -> b) -> Closure (c -> d) -> p b c -> p a d Source #

staticLmap :: (Typeable a, Typeable b, Typeable c) => Closure (a -> b) -> p b c -> p a c Source #

staticRmap :: (Typeable a, Typeable c, Typeable d) => Closure (c -> d) -> p a c -> p a d Source #