Generics.Instant.Zipper
- module Control.Monad.Error
- module Data.Typeable
- module Generics.Instant
- class Family f
- class (Representable f, Typeable f, Fillable (Rep f), Firstable (Rep f), Nextable (Rep f), Lastable (Rep f), Prevable (Rep f)) => Zipper f
- type ZipperR = Either String
- enter :: Zipper h => h -> Loc h h Epsilon
- leave :: Zipper h => Loc h r c -> r
- up :: (Zipper h, Zipper h') => Loc h r (h' :<: c) -> Loc h' r c
- down :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r c -> ZipperR (Loc h' r (h :<: c))
- downR :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r c -> ZipperR (Loc h' r (h :<: c))
- left :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r (c :<: cs) -> ZipperR (Loc h' r (c :<: cs))
- right :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r (c :<: cs) -> ZipperR (Loc h' r (c :<: cs))
- down' :: (Zipper h, Zipper h') => h' -> Loc h r c -> ZipperR (Loc h' r (h :<: c))
- downR' :: (Zipper h, Zipper h') => h' -> Loc h r c -> ZipperR (Loc h' r (h :<: c))
- left' :: (Zipper h, Zipper h') => h' -> Loc h r (c :<: cs) -> ZipperR (Loc h' r (c :<: cs))
- right' :: (Zipper h, Zipper h') => h' -> Loc h r (c :<: cs) -> ZipperR (Loc h' r (c :<: cs))
- get :: Loc h r c -> h
- set :: h -> Loc h r c -> Loc h r c
- data PrimFam a where
Documentation
module Control.Monad.Error
module Data.Typeable
module Generics.Instant
class (Representable f, Typeable f, Fillable (Rep f), Firstable (Rep f), Nextable (Rep f), Lastable (Rep f), Prevable (Rep f)) => Zipper f Source
Zipper
down :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r c -> ZipperR (Loc h' r (h :<: c))Source
downR :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r c -> ZipperR (Loc h' r (h :<: c))Source
left :: (Zipper h, Zipper h', Family f, Show (f h')) => f h' -> Loc h r (c :<: cs) -> ZipperR (Loc h' r (c :<: cs))Source