proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Category.Monoidal.CopyDiscard

Documentation

class Monoidal k => CopyDiscard k where Source Github #

Minimal complete definition

Nothing

Methods

copy :: forall (a :: k). Ob a => a ~> (a ** a) Source Github #

default copy :: forall (a :: k). (Supplies k (Comonoid :: k -> Constraint), Ob a) => a ~> (a ** a) Source Github #

discard :: forall (a :: k). Ob a => a ~> (Unit :: k) Source Github #

default discard :: forall (a :: k). (Supplies k (Comonoid :: k -> Constraint), Ob a) => a ~> (Unit :: k) Source Github #

Instances

Instances details
CopyDiscard Nat Source Github # 
Instance details

Defined in Proarrow.Category.Instance.ZX

Methods

copy :: forall (a :: Nat). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: Nat). Ob a => a ~> (Unit :: Nat) Source Github #

CopyDiscard BOOL Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Bool

Methods

copy :: forall (a :: BOOL). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: BOOL). Ob a => a ~> (Unit :: BOOL) Source Github #

CopyDiscard KIND Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

copy :: forall (a :: KIND). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: KIND). Ob a => a ~> (Unit :: KIND) Source Github #

CopyDiscard CONSTRAINT Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

copy :: forall (a :: CONSTRAINT). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: CONSTRAINT). Ob a => a ~> (Unit :: CONSTRAINT) Source Github #

CopyDiscard FINREL Source Github # 
Instance details

Defined in Proarrow.Category.Instance.FinRel

Methods

copy :: forall (a :: FINREL). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: FINREL). Ob a => a ~> (Unit :: FINREL) Source Github #

CopyDiscard FINSET Source Github # 
Instance details

Defined in Proarrow.Category.Instance.FinSet

Methods

copy :: forall (a :: FINSET). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: FINSET). Ob a => a ~> (Unit :: FINSET) Source Github #

CopyDiscard POINTED Source Github # 
Instance details

Defined in Proarrow.Category.Instance.PointedHask

Methods

copy :: forall (a :: POINTED). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: POINTED). Ob a => a ~> (Unit :: POINTED) Source Github #

CopyDiscard DOT Source Github # 
Instance details

Defined in Proarrow.Tools.Diagrams.Dot

Methods

copy :: forall (a :: DOT). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: DOT). Ob a => a ~> (Unit :: DOT) Source Github #

CopyDiscard () Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.CopyDiscard

Methods

copy :: forall (a :: ()). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: ()). Ob a => a ~> (Unit :: ()) Source Github #

CopyDiscard Type Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.CopyDiscard

Methods

copy :: Ob a => a ~> (a ** a) Source Github #

discard :: Ob a => a ~> (Unit :: Type) Source Github #

HasPushouts k => CopyDiscard (COSPAN k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Cospan

Methods

copy :: forall (a :: COSPAN k). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: COSPAN k). Ob a => a ~> (Unit :: COSPAN k) Source Github #

Num a => CopyDiscard (MatK a) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Mat

Methods

copy :: forall (a0 :: MatK a). Ob a0 => a0 ~> (a0 ** a0) Source Github #

discard :: forall (a0 :: MatK a). Ob a0 => a0 ~> (Unit :: MatK a) Source Github #

HasPullbacks k => CopyDiscard (SPAN k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Span

Methods

copy :: forall (a :: SPAN k). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: SPAN k). Ob a => a ~> (Unit :: SPAN k) Source Github #

CopyDiscard k => CopyDiscard (REV k) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

copy :: forall (a :: REV k). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: REV k). Ob a => a ~> (Unit :: REV k) Source Github #

HasProducts k => CopyDiscard (PROD k) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.CopyDiscard

Methods

copy :: forall (a :: PROD k). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: PROD k). Ob a => a ~> (Unit :: PROD k) Source Github #

(SymMonoidal k, CopyDiscard k) => CopyDiscard [k] Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Strictified

Methods

copy :: forall (a :: [k]). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: [k]). Ob a => a ~> (Unit :: [k]) Source Github #

(Promonad p, MonoidalProfunctor p, CopyDiscard k) => CopyDiscard (KLEISLI p) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Kleisli

Methods

copy :: forall (a :: KLEISLI p). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: KLEISLI p). Ob a => a ~> (Unit :: KLEISLI p) Source Github #

(SubMonoidal ob, CopyDiscard k) => CopyDiscard (SUBCAT ob) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.CopyDiscard

Methods

copy :: forall (a :: SUBCAT ob). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: SUBCAT ob). Ob a => a ~> (Unit :: SUBCAT ob) Source Github #

(CopyDiscard k, Monoidal j, Supplies j (Monoid :: j -> Constraint)) => CopyDiscard (j +-> k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Day

Methods

copy :: forall (a :: j +-> k). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: j +-> k). Ob a => a ~> (Unit :: j +-> k) Source Github #

(CopyDiscard j, CopyDiscard k) => CopyDiscard (j, k) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.CopyDiscard

Methods

copy :: forall (a :: (j, k)). Ob a => a ~> (a ** a) Source Github #

discard :: forall (a :: (j, k)). Ob a => a ~> (Unit :: (j, k)) Source Github #