uvmhs-0.0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

UVMHS.Core.Classes.Morphism

Documentation

type (→⁻) (m :: ★ -> ★) (n :: ★ -> ★) = forall a. m a -> n a infixr 1 Source #

type (→⁼) (t :: (★ -> ★) -> ★ -> ★) (u :: (★ -> ★) -> ★ -> ★) = forall m. t m →⁻ u m infixr 1 Source #

class a b | a -> b where infixr 1 Source #

Methods

isoto :: a -> b Source #

isofr :: b -> a Source #

Instances

Instances details
𝕊 (𝐼 ) Source # 
Instance details

Defined in UVMHS.Core.Data.Iter

(𝑂 a) (() a) Source # 
Instance details

Defined in UVMHS.Core.Data.Option

Methods

isoto :: 𝑂 a -> () a Source #

isofr :: (() a) -> 𝑂 a Source #

data Iso a b Source #

Constructors

Iso 

Fields

  • ito :: a -> b
     
  • ifr :: b -> a
     

Instances

Instances details
Category Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Reflexive Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). Iso a a Source #

Symmetric Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

sym :: forall (a :: k) (b :: k). Iso a b -> Iso b a Source #

Transitive Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). Iso b c -> Iso a b -> Iso a c Source #

toiso :: a b => Iso a b Source #

friso :: a b => Iso b a Source #

class t ⇄⁻ u | t -> u where infixr 1 Source #

Methods

isoto2 :: t →⁻ u Source #

isofr2 :: u →⁻ t Source #

data Iso2 t u Source #

Constructors

Iso2 

Fields

Instances

Instances details
Category Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Reflexive Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). Iso2 a a Source #

Symmetric Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

sym :: forall (a :: k) (b :: k). Iso2 a b -> Iso2 b a Source #

Transitive Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). Iso2 b c -> Iso2 a b -> Iso2 a c Source #

toiso2 :: t ⇄⁻ u => Iso2 t u Source #

friso2 :: t ⇄⁻ u => Iso2 u t Source #

class v ⇄⁼ w | v -> w where infixr 1 Source #

Methods

isoto3 :: v →⁼ w Source #

isofr3 :: w →⁼ v Source #

Instances

Instances details
(RWST r o s) ⇄⁼ (((ReaderT r :: (Type -> Type) -> Type -> Type) WriterT o) StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

data Iso3 v w Source #

Constructors

Iso3 

Fields

Instances

Instances details
Category Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Reflexive Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). Iso3 a a Source #

Symmetric Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

sym :: forall (a :: k) (b :: k). Iso3 a b -> Iso3 b a Source #

Transitive Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). Iso3 b c -> Iso3 a b -> Iso3 a c Source #

toiso3 :: v ⇄⁼ w => Iso3 v w Source #

friso3 :: v ⇄⁼ w => Iso3 w v Source #

class Reflexive t where Source #

Methods

refl :: t a a Source #

Instances

Instances details
Reflexive (≤) Source # 
Instance details

Defined in UVMHS.Core.Static

Methods

refl :: forall (a :: k). a a Source #

Reflexive Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). Iso a a Source #

Reflexive (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

refl :: forall (a :: k). a a Source #

Reflexive (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

refl :: forall (a :: k). a a Source #

Reflexive (->) Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). a -> a Source #

Reflexive Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). Iso3 a a Source #

Reflexive Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

refl :: forall (a :: k). Iso2 a a Source #

class Transitive t where Source #

Methods

(⊚) :: t b c -> t a b -> t a c infixl 7 Source #

Instances

Instances details
Transitive (<) Source # 
Instance details

Defined in UVMHS.Core.Static

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). (b < c) -> (a < b) -> a < c Source #

Transitive (≤) Source # 
Instance details

Defined in UVMHS.Core.Static

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). (b c) -> (a b) -> a c Source #

Transitive Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). Iso b c -> Iso a b -> Iso a c Source #

Transitive (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). (b c) -> (a b) -> a c Source #

Transitive (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). (b c) -> (a b) -> a c Source #

Transitive (->) Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). (b -> c) -> (a -> b) -> a -> c Source #

Transitive Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). Iso3 b c -> Iso3 a b -> Iso3 a c Source #

Transitive Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

(⊚) :: forall (b :: k) (c :: k) (a :: k). Iso2 b c -> Iso2 a b -> Iso2 a c Source #

class (Reflexive t, Transitive t) => Category t Source #

Instances

Instances details
Category (≤) Source # 
Instance details

Defined in UVMHS.Core.Static

Category Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Category (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Category (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Category (->) Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Category Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Category Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

class Symmetric t where Source #

Methods

sym :: t a b -> t b a Source #

Instances

Instances details
Symmetric Iso Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

sym :: forall (a :: k) (b :: k). Iso a b -> Iso b a Source #

Symmetric Iso3 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

sym :: forall (a :: k) (b :: k). Iso3 a b -> Iso3 b a Source #

Symmetric Iso2 Source # 
Instance details

Defined in UVMHS.Core.Classes.Morphism

Methods

sym :: forall (a :: k) (b :: k). Iso2 a b -> Iso2 b a Source #