optics-core-0.1

Safe HaskellNone
LanguageHaskell2010

Optics.Equality

Synopsis

Documentation

data An_Equality :: OpticKind #

Tag for an equality.

Instances
ReversibleOptic An_Equality # 
Instance details

Defined in Optics.Internal.Re

Associated Types

type ReversedOptic An_Equality :: OpticKind #

Methods

re :: Optic An_Equality [] s t a b -> Optic (ReversedOptic An_Equality) [] b a t s #

Is An_Equality A_Review # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Review p -> (Constraints An_Equality p -> r) -> Constraints A_Review p -> r

Is An_Equality A_LensyReview # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_LensyReview p -> (Constraints An_Equality p -> r) -> Constraints A_LensyReview p -> r

Is An_Equality A_Fold # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Fold p -> (Constraints An_Equality p -> r) -> Constraints A_Fold p -> r

Is An_Equality An_AffineFold # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality An_AffineFold p -> (Constraints An_Equality p -> r) -> Constraints An_AffineFold p -> r

Is An_Equality A_Getter # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Getter p -> (Constraints An_Equality p -> r) -> Constraints A_Getter p -> r

Is An_Equality A_PrismaticGetter # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_PrismaticGetter p -> (Constraints An_Equality p -> r) -> Constraints A_PrismaticGetter p -> r

Is An_Equality A_Setter # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Setter p -> (Constraints An_Equality p -> r) -> Constraints A_Setter p -> r

Is An_Equality A_Traversal # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Traversal p -> (Constraints An_Equality p -> r) -> Constraints A_Traversal p -> r

Is An_Equality An_AffineTraversal # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality An_AffineTraversal p -> (Constraints An_Equality p -> r) -> Constraints An_AffineTraversal p -> r

Is An_Equality A_Prism # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Prism p -> (Constraints An_Equality p -> r) -> Constraints A_Prism p -> r

Is An_Equality A_Lens # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality A_Lens p -> (Constraints An_Equality p -> r) -> Constraints A_Lens p -> r

Is An_Equality An_Iso # 
Instance details

Defined in Optics.Internal.Optic.Subtyping

Methods

implies :: proxy An_Equality An_Iso p -> (Constraints An_Equality p -> r) -> Constraints An_Iso p -> r

type ReversedOptic An_Equality # 
Instance details

Defined in Optics.Internal.Re

type Equality s t a b = Optic An_Equality '[] s t a b #

Type synonym for a type-modifying equality.

type Equality' s a = Optic' An_Equality '[] s a #

Type synonym for a type-preserving equality.

vlEquality :: (forall p f. p a (f b) -> p s (f t)) -> Equality s t a b #

Build an equality from the van Laarhoven representation.

equality :: (s ~ a, t ~ b) => Equality s t a b #

Capture type constraints as an equality.

simple :: Equality' a a #

Proof of reflexivity.

withEq :: Optic An_Equality is s t a b -> ((s ~ a, t ~ b) => r) -> r #

Substituting types with Equality.

data Identical (s :: *) (t :: *) (a :: *) (b :: *) where #

Provides a witness of equality.

Constructors

Identical :: (s ~ a, t ~ b) => Identical s t a b 

runEq :: Optic An_Equality is s t a b -> Identical s t a b #

Obtain a witness for an equality.