class (Index m a b) <= At m a b where
at :: a -> LensP m (Maybe b)
instance atIdentity :: At (Identity a) Unit a
instance atMaybe :: At (Maybe a) Unit a
instance atSet :: (Ord v) => At (S.Set v) v Unit
instance atMap :: (Ord k) => At (M.Map k v) k v
instance atStrMap :: At (SM.StrMap v) String v
class (IndexKey m a) <= Contains m a where
contains :: a -> LensP m Boolean
instance containsSet :: (Ord k) => Contains (Set k) k
class (IndexKey m a, IndexValue m b) <= Index m a b where
ix :: a -> TraversalP m b
instance indexArr :: (Eq e) => Index (e -> a) e a
instance indexMaybe :: Index (Maybe a) Unit a
instance indexIdentity :: Index (Identity a) Unit a
instance indexArray :: Index [a] Number a
instance indexSet :: (Ord a) => Index (S.Set a) a Unit
instance indexMap :: (Ord k) => Index (M.Map k v) k v
instance indexStrMap :: Index (SM.StrMap v) String v
class IndexKey m k where
class IndexValue m v where
instance indexKeyArr :: IndexKey (a -> b) a
instance indexKeyArray :: IndexKey [a] Number
instance indexKeyIdentity :: IndexKey (Identity a) Unit
instance indexKeyMap :: IndexKey (M.Map k v) k
instance indexKeyMaybe :: IndexKey (Maybe a) Unit
instance indexKeySet :: IndexKey (S.Set k) k
instance indexKeyStrMap :: IndexKey (SM.StrMap v) String
instance indexValueArr :: IndexValue (a -> b) b
instance indexValueArray :: IndexValue [a] a
instance indexValueIdentity :: IndexValue (Identity a) a
instance indexValueMap :: IndexValue (M.Map k v) v
instance indexValueMaybe :: IndexValue (Maybe a) a
instance indexValueSet :: IndexValue (S.Set k) Unit
instance indexValueStrMap :: IndexValue (SM.StrMap v) v
type LensP s a = forall f. (Functor f) => (a -> f a) -> s -> f s
type TraversalP s a = forall f. (Applicative f) => (a -> f a) -> s -> f s