darcs-2.8.4: a distributed, interactive, smart revision control system

Safe Haskell | None

Darcs.Witnesses.WZipper

Synopsis

- data FZipper a x z where
  - FZipper :: RL a x y -> FL a y z -> FZipper a x z
- focus :: FZipper a x y -> Maybe (Sealed2 a)
- leftmost :: FZipper p x y -> Bool
- left :: FZipper p x y -> FZipper p x y
- rightmost :: FZipper p x y -> Bool
- right :: FZipper p x y -> FZipper p x y
- jokers :: FZipper a x y -> FlippedSeal (FL a) y
- clowns :: FZipper a x y -> Sealed (RL a x)
- flToZipper :: FL a x y -> FZipper a x y
- lengthFZ :: FZipper a x y -> Int
- nullFZ :: FZipper a x y -> Bool
- toEnd :: FZipper p x y -> FZipper p x y
- toStart :: FZipper p x y -> FZipper p x y

# Documentation

data FZipper a x z where

Constructors

FZipper :: RL a x y -> FL a y z -> FZipper a x z |

focus :: FZipper a x y -> Maybe (Sealed2 a)

leftmost :: FZipper p x y -> Bool

left :: FZipper p x y -> FZipper p x y

rightmost :: FZipper p x y -> Bool

right :: FZipper p x y -> FZipper p x y

jokers :: FZipper a x y -> FlippedSeal (FL a) y

See `clowns`

clowns :: FZipper a x y -> Sealed (RL a x)

"Clowns to the left of me, jokers to the right. Here I am, stuck in the middle of you" http://en.wikipedia.org/wiki/Stuck_in_the_Middle

flToZipper :: FL a x y -> FZipper a x y

lengthFZ :: FZipper a x y -> Int

nullFZ :: FZipper a x y -> Bool

toEnd :: FZipper p x y -> FZipper p x y

toStart :: FZipper p x y -> FZipper p x y