uvmhs-0.0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

UVMHS.Core.Data.Lens

Documentation

newtype a b infixr 1 Source #

Constructors

Lens 

Fields

Instances

Instances details
Alter (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

alter :: (a b) -> (b -> b) -> a -> a Source #

AlterM (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

alterM :: Monad m => (a b) -> (b -> m b) -> a -> m a Source #

Category (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Reflexive (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

refl :: forall (a :: k). a a 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 #

data a b infixr 1 Source #

Constructors

Prism 

Fields

Instances

Instances details
Alter (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

alter :: (a b) -> (b -> b) -> a -> a Source #

Category (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Reflexive (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

refl :: forall (a :: k). a a 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 #

class Alter (t :: ★ -> ★ -> ★) where Source #

Methods

alter :: t a b -> (b -> b) -> a -> a Source #

Instances

Instances details
Alter (⌲) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

alter :: (a b) -> (b -> b) -> a -> a Source #

Alter (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

alter :: (a b) -> (b -> b) -> a -> a Source #

class AlterM (t :: ★ -> ★ -> ★) where Source #

Methods

alterM :: Monad m => t a b -> (b -> m b) -> a -> m a Source #

Instances

Instances details
AlterM (⟢) Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

alterM :: Monad m => (a b) -> (b -> m b) -> a -> m a Source #

update :: Alter t => t a b -> b -> a -> a Source #

updateM :: (AlterM t, Monad m) => t a b -> m b -> a -> m a Source #

lens :: (a -> b) -> (a -> b -> a) -> a b Source #

isoLens :: (a -> b) -> (b -> a) -> a b Source #

access :: (a b) -> a -> b Source #

prism :: (b -> a) -> (a -> 𝑂 b) -> a b Source #

isoPrism :: (b -> a) -> (a -> b) -> a b Source #

viewΩ :: (a b) -> a -> b Source #

shape :: (a b) -> a -> 𝔹 Source #

inlL :: (a b) a Source #

inrL :: (a b) b Source #

fstL :: (a b) a Source #

sndL :: (a b) b Source #

single𝐷L :: Ord k => (k v) (k v) Source #

keyL :: Ord k => k -> (k v) 𝑂 v Source #

keyL𝑂 :: (Ord k, Null v) => k -> (k v) v Source #

class HasPrism a b where Source #

Methods

hasPrism :: a b Source #

Instances

Instances details
HasPrism a a Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

hasPrism :: a a Source #

class HasLens a b where Source #

Methods

hasLens :: a b Source #

Instances

Instances details
HasLens a a Source # 
Instance details

Defined in UVMHS.Core.Data.Lens

Methods

hasLens :: a a Source #

𝛊 :: HasPrism a b => b -> a Source #

𝛎 :: forall b a. HasPrism a b => a -> 𝑂 b Source #

𝛑 :: HasLens a b => a -> b Source #

𝛏 :: HasLens a b => b -> a -> a Source #