| Copyright | (C) 2014-2018 Edward Kmett | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | Edward Kmett <ekmett@gmail.com> | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Trustworthy | 
| Language | Haskell2010 | 
Data.Profunctor.Closed
Description
Synopsis
- class Profunctor p => Closed p where- closed :: p a b -> p (x -> a) (x -> b)
 
- newtype Closure p a b = Closure {- runClosure :: forall x. p (x -> a) (x -> b)
 
- close :: Closed p => (p :-> q) -> p :-> Closure q
- unclose :: Profunctor q => (p :-> Closure q) -> p :-> q
- data Environment p a b where- Environment :: ((z -> y) -> b) -> p x y -> (a -> z -> x) -> Environment p a b
 
- curry' :: Closed p => p (a, b) c -> p a (b -> c)
Documentation
class Profunctor p => Closed p where Source #
A strong profunctor allows the monoidal structure to pass through.
A closed profunctor allows the closed structure to pass through.
Methods
Instances
newtype Closure p a b Source #
Closure adjoins a Closed structure to any Profunctor.
Constructors
| Closure | |
| Fields 
 | |
Instances
data Environment p a b where Source #
Constructors
| Environment :: ((z -> y) -> b) -> p x y -> (a -> z -> x) -> Environment p a b |