Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class GoodOperationFor c b => ClassyPlate c b where
- class GoodOperationForAuto c b => SmartClassyPlate c sel b where
- bottomUp_ :: ClassyPlate c b => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b
- bottomUpM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b
- smartTraverse_ :: SmartClassyPlate c sel b => FlagToken sel -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b
- smartTraverseM_ :: (SmartClassyPlate c sel b, Monad m) => FlagToken sel -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b
- descend_ :: ClassyPlate c b => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b
- descendM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b
- topDown_ :: ClassyPlate c b => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b
- topDownM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b
- app :: App flag c b => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b
- appM :: (App flag c b, Monad m) => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b
- appTD :: App flag c b => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> (b -> b) -> b -> b
- appTDM :: (App flag c b, Monad m) => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> (b -> m b) -> b -> m b
- type GoodOperationFor c e = App (AppSelector c e) c e
- type GoodOperationForAuto c e = (GoodOperationFor c e, Generic e)
- data FlagToken c
- data ClsToken c
- data FlagToken c
Documentation
class GoodOperationFor c b => ClassyPlate c b where Source #
A class for traversals that use a polymorphic function to visit all applicable elements.
bottomUp_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
bottomUpM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
descend_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
descendM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
topDown_ :: ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
topDownM_ :: Monad m => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
class GoodOperationForAuto c b => SmartClassyPlate c sel b where Source #
A class for traversals that use a polymorphic function to visit all applicable elements but only visit the parts where the applicable elements could be found.
smartTraverse_ :: FlagToken sel -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
smartTraverseM_ :: Monad m => FlagToken sel -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
GoodOperationForAuto c b => SmartClassyPlate c True b Source # | |
bottomUp_ :: ClassyPlate c b => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
bottomUpM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
smartTraverse_ :: SmartClassyPlate c sel b => FlagToken sel -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
smartTraverseM_ :: (SmartClassyPlate c sel b, Monad m) => FlagToken sel -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
descend_ :: ClassyPlate c b => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
descendM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
topDown_ :: ClassyPlate c b => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
topDownM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
app :: App flag c b => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> b -> b Source #
appM :: (App flag c b, Monad m) => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> b -> m b Source #
appTD :: App flag c b => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> a) -> (b -> b) -> b -> b Source #
appTDM :: (App flag c b, Monad m) => FlagToken flag -> ClsToken c -> (forall a. (ClassyPlate c a, c a) => a -> m a) -> (b -> m b) -> b -> m b Source #
type GoodOperationFor c e = App (AppSelector c e) c e Source #
type GoodOperationForAuto c e = (GoodOperationFor c e, Generic e) Source #