hask-0: Categories

Copyright(c) Edward Kmett 2014
LicenseBSD3
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Hask.Prism

Description

 

Documentation

class (Precocartesian ((~>) :: i -> i -> *), Profunctor p) => Choice p where Source

Minimal complete definition

_Left | _Right

Methods

_Left :: p a b -> p (a + c) (b + c) Source

_Right :: p a b -> p (c + a) (c + b) Source

Instances

Choice * (->) 
Choice * (Tagged *) 
Precocartesian i ((~>) i) => Choice i (Self i) 
Precocartesian i ((~>) i) => Choice i (Beget i i r) 
Choice (i -> j -> *) (Nat (j -> *) i) 
Choice (i -> *) (Nat * i) 

type Begetter t b = forall p. (Choice p, Functor p) => p b b -> p t t Source

unto :: Bifunctor p => (b ~> t) -> p b b -> p t t Source

type Prism s t a b = forall p. Choice p => p a b -> p s t Source