fresnel-0.0.0.1: high-powered optics in a small package
Safe HaskellSafe-Inferred
LanguageHaskell2010

Fresnel.Ixed

Synopsis

Indexable collections

class Ixed c where Source #

Associated Types

type Index c Source #

type IxValue c Source #

Methods

ix :: Index c -> Optional' c (IxValue c) Source #

Instances

Instances details
Ixed IntSet Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index IntSet Source #

type IxValue IntSet Source #

Methods

ix :: Index IntSet -> Optional' IntSet (IxValue IntSet) Source #

Ixed (IntMap v) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (IntMap v) Source #

type IxValue (IntMap v) Source #

Methods

ix :: Index (IntMap v) -> Optional' (IntMap v) (IxValue (IntMap v)) Source #

Ord k => Ixed (Set k) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (Set k) Source #

type IxValue (Set k) Source #

Methods

ix :: Index (Set k) -> Optional' (Set k) (IxValue (Set k)) Source #

(Eq k, Hashable k) => Ixed (HashSet k) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (HashSet k) Source #

type IxValue (HashSet k) Source #

Methods

ix :: Index (HashSet k) -> Optional' (HashSet k) (IxValue (HashSet k)) Source #

Ixed (NonEmpty v) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (NonEmpty v) Source #

type IxValue (NonEmpty v) Source #

Methods

ix :: Index (NonEmpty v) -> Optional' (NonEmpty v) (IxValue (NonEmpty v)) Source #

Ixed (Maybe a) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (Maybe a) Source #

type IxValue (Maybe a) Source #

Methods

ix :: Index (Maybe a) -> Optional' (Maybe a) (IxValue (Maybe a)) Source #

Ixed [v] Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index [v] Source #

type IxValue [v] Source #

Methods

ix :: Index [v] -> Optional' [v] (IxValue [v]) Source #

Ord k => Ixed (Map k v) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (Map k v) Source #

type IxValue (Map k v) Source #

Methods

ix :: Index (Map k v) -> Optional' (Map k v) (IxValue (Map k v)) Source #

(Eq k, Hashable k) => Ixed (HashMap k v) Source # 
Instance details

Defined in Fresnel.Ixed

Associated Types

type Index (HashMap k v) Source #

type IxValue (HashMap k v) Source #

Methods

ix :: Index (HashMap k v) -> Optional' (HashMap k v) (IxValue (HashMap k v)) Source #

Construction

ixSet :: (Index c -> c -> Bool) -> (Index c -> c -> c) -> Index c -> Optional' c () Source #

ixMap :: (Index c -> c -> Maybe (IxValue c)) -> (Index c -> IxValue c -> c -> c) -> Index c -> Optional' c (IxValue c) Source #

ixList :: Int -> Optional' [a] a Source #