Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Zipper a b
- fromList :: Eq b => [(a, [b])] -> Zipper a b
- toList :: Zipper a b -> [(a, [b])]
- focus :: Zipper a b -> Maybe b
- focusHeading :: Eq b => Zipper a b -> Maybe a
- left :: Zipper a b -> Zipper a b
- leftL :: Lens (Zipper a b) (Zipper a b) (Zipper a b) (Zipper a b)
- right :: Zipper a b -> Zipper a b
- rightL :: Lens (Zipper a b) (Zipper a b) (Zipper a b) (Zipper a b)
- findRight :: (b -> Bool) -> Zipper a b -> Zipper a b
- maybeFindRight :: (b -> Bool) -> Zipper a b -> Maybe (Zipper a b)
- updateListBy :: Eq b => (Maybe b -> b -> Bool) -> [(a, [b])] -> Zipper a b -> Zipper a b
- filterZipper :: Eq b => (b -> Bool) -> Zipper a b -> Zipper a b
- maybeMapZipper :: Eq c => (b -> Maybe c) -> Zipper a b -> Zipper a c
- isEmpty :: Zipper a b -> Bool
- position :: Eq b => Zipper a b -> Maybe Int
Documentation
Instances
Foldable (Zipper a) Source # | |
Defined in Matterhorn.Zipper fold :: Monoid m => Zipper a m -> m # foldMap :: Monoid m => (a0 -> m) -> Zipper a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Zipper a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Zipper a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Zipper a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Zipper a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Zipper a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Zipper a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Zipper a a0 -> a0 # toList :: Zipper a a0 -> [a0] # length :: Zipper a a0 -> Int # elem :: Eq a0 => a0 -> Zipper a a0 -> Bool # maximum :: Ord a0 => Zipper a a0 -> a0 # minimum :: Ord a0 => Zipper a a0 -> a0 # | |
Functor (Zipper a) Source # | |
:: Eq b | |
=> (Maybe b -> b -> Bool) | The comparison function. This is given the previous zipper's focus value (which is optional) and is given every element in the new zipper state for comparison. This should return True for the item in the new zipper that matches the focused item in the old zipper. |
-> [(a, [b])] | The new zipper list contents. |
-> Zipper a b | The old zipper. |
-> Zipper a b |
Update the zipper's entry list, using the specified function determine which entry should be selected in the new zipper state.