- data Zipper a = Zip ![a] ![a]
- empty :: Zipper a
- fromList :: [a] -> Zipper a
- fromListEnd :: [a] -> Zipper a
- toList :: Zipper a -> [a]
- endp :: Zipper a -> Bool
- emptyp :: Zipper a -> Bool
- beginp :: Zipper a -> Bool
- cursor :: Zipper a -> a
- right :: Zipper a -> Zipper a
- left :: Zipper a -> Zipper a
- push :: a -> Zipper a -> Zipper a
- insert :: a -> Zipper a -> Zipper a
- pop :: Zipper a -> Zipper a
- delete :: Zipper a -> Zipper a
- replace :: a -> Zipper a -> Zipper a

# Documentation

fromListEnd :: [a] -> Zipper aSource

`cursor z`

returns the targeted element in `z`

.

This function is not total, but the invariant is that
`endp z == False`

means that you can safely call
`cursor z`

.