edit-lenses-0.2: Symmetric, stateful edit lenses

Data.Module.Class

Documentation

class (Default (V dX), Monoid dX) => Module dX whereSource

Associated Types

type V dX Source

Methods

apply :: dX -> V dX -> Maybe (V dX)Source

Instances

PartialEdit dX => Module [dX] 
Module (Sum Int) 
Default x => Module (First x) 
Default x => Module (Unit x) 
(Module dX, Module dY) => Module (dX, dY) 
(Module dX, Module dY) => Module (Sum dX dY) 
(Default x, Default y) => Module (Retag x y) 

applyDef :: Module dX => dX -> Maybe (V dX)Source

applyTotal :: Module dX => dX -> V dX -> V dXSource

applyDefTotal :: Module dX => dX -> V dXSource

class Default (V_0 dX) => PartialEdit dX whereSource

Associated Types

type V_0 dX Source

Methods

apply_0 :: dX -> V_0 dX -> Maybe (V_0 dX)Source

Instances

Module dX => PartialEdit (ListAtom dX) 
(Module dX, Module dY) => PartialEdit (ProductAtom dX dY) 
(Module dX, Module dY) => PartialEdit (SumAtom dX dY) 
(ContainerType shape, Module dX) => PartialEdit (ContainerAtom shape dX)