Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- type Zipper a = NonEmpty (Cursor a)
- zipper :: Tree a -> Zipper a
- zippers :: Trees a -> [Zipper a]
- root :: Zipper a -> Cursor a
- roots :: Zipper a -> Trees a
- zipath :: Zipper a -> [a]
- select :: Axis a -> Zipper a -> [Tree a]
- filter :: Axis a -> (Zipper a -> Maybe b) -> Zipper a -> [b]
- data Cursor a = Cursor {}
- cursor :: Zipper a -> Cursor a
- setCursor :: Zipper a -> Cursor a -> Zipper a
- current :: Zipper a -> Tree a
- type Axis a = AxisAlt [] a
- runAxis :: Axis a -> Zipper a -> [Zipper a]
- type AxisAlt f a = Kleisli f (Zipper a) (Zipper a)
- runAxisAlt :: AxisAlt f a -> Zipper a -> f (Zipper a)
- axis_repeat :: AxisAlt Maybe a -> Axis a
- axis_repeat_without_self :: AxisAlt Maybe a -> Axis a
- axis_filter :: Axis a -> (Zipper a -> Bool) -> Axis a
- axis_filter_current :: Axis a -> (Tree a -> Bool) -> Axis a
- axis_first :: Axis a -> Axis a
- axis_last :: Axis a -> Axis a
- axis_at :: Alternative f => Axis a -> Int -> AxisAlt f a
- axis_self :: Applicative f => AxisAlt f a
- axis_child :: Axis a
- axis_child_lookup_first :: Alternative f => (a -> Bool) -> AxisAlt f a
- axis_child_lookup :: (a -> Bool) -> Axis a
- axis_child_first :: Alternative f => AxisAlt f a
- axis_child_last :: Alternative f => AxisAlt f a
- axis_ancestor :: Axis a
- axis_ancestor_or_self :: Axis a
- axis_root :: Alternative f => AxisAlt f a
- axis_descendant_or_self :: Axis a
- axis_descendant_or_self_reverse :: Axis a
- axis_descendant :: Axis a
- axis_preceding_sibling :: Axis a
- axis_preceding_sibling_nearest :: Alternative f => AxisAlt f a
- axis_preceding_sibling_farthest :: Alternative f => AxisAlt f a
- axis_preceding :: Axis a
- axis_following_sibling :: Axis a
- axis_following_sibling_nearest :: Alternative f => AxisAlt f a
- axis_following_sibling_farthest :: Alternative f => AxisAlt f a
- axis_following :: Axis a
- axis_parent :: Alternative f => AxisAlt f a
- listHead :: Alternative f => [a] -> f a
Type Zipper
Type Cursor
Cursor | |
|
Type Axis
Type AxisAlt
type AxisAlt f a = Kleisli f (Zipper a) (Zipper a) Source #
Like Axis
, but generalized with Alternative
.
Useful to return a Maybe
instead of a list.
Axis repeat
Axis filter
Axis first
axis_first :: Axis a -> Axis a Source #
Axis last
Axis at
Axis self
axis_self :: Applicative f => AxisAlt f a Source #
Axis child
axis_child :: Axis a Source #
axis_child_lookup_first :: Alternative f => (a -> Bool) -> AxisAlt f a Source #
axis_child_lookup :: (a -> Bool) -> Axis a Source #
axis_child_first :: Alternative f => AxisAlt f a Source #
axis_child_last :: Alternative f => AxisAlt f a Source #
Axis ancestor
axis_ancestor :: Axis a Source #
axis_ancestor_or_self :: Axis a Source #
axis_root :: Alternative f => AxisAlt f a Source #
Axis descendant
axis_descendant :: Axis a Source #
Axis preceding
axis_preceding_sibling_nearest :: Alternative f => AxisAlt f a Source #
axis_preceding_sibling_farthest :: Alternative f => AxisAlt f a Source #
axis_preceding :: Axis a Source #
Axis following
axis_following_sibling_nearest :: Alternative f => AxisAlt f a Source #
axis_following_sibling_farthest :: Alternative f => AxisAlt f a Source #
axis_following :: Axis a Source #
Axis parent
axis_parent :: Alternative f => AxisAlt f a Source #
Utilities
listHead :: Alternative f => [a] -> f a Source #