Safe Haskell | None |
---|---|
Language | Haskell2010 |
- classyTraverse :: forall c b. ClassyPlate c b => (forall a. c a => a -> a) -> b -> b
- classyTraverseM :: forall c b m. (ClassyPlate c b, Monad m) => (forall a. c a => a -> m a) -> b -> m b
- selectiveTraverse :: forall c b. ClassyPlate c b => (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b
- selectiveTraverseM :: forall c b m. (ClassyPlate c b, Monad m) => (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> b -> m b
- smartTraverse :: forall c b. SmartClassyPlate c (ClassIgnoresSubtree c b) b => (forall a. c a => a -> a) -> b -> b
- smartTraverseM :: forall c b m. (SmartClassyPlate c (ClassIgnoresSubtree c b) b, Monad m) => (forall a. c a => a -> m a) -> b -> m b
- class GoodOperationFor c b => ClassyPlate c b where
- class GoodOperationForAuto c b => SmartClassyPlate c sel b where
- classyTraverse_ :: ClassyPlate c b => ClsToken c -> (forall a. c a => a -> a) -> b -> b
- classyTraverseM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. c a => a -> m a) -> b -> m b
- selectiveTraverse_ :: ClassyPlate c b => ClsToken c -> (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b
- selectiveTraverseM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> b -> m b
- smartTraverse_ :: SmartClassyPlate c sel b => FlagToken sel -> ClsToken c -> (forall a. c a => a -> a) -> b -> b
- smartTraverseM_ :: (SmartClassyPlate c sel b, Monad m) => FlagToken sel -> ClsToken c -> (forall a. c a => a -> m a) -> b -> m b
- app :: App flag c b => FlagToken flag -> ClsToken c -> (forall a. c a => a -> a) -> b -> b
- appM :: (App flag c b, Monad m) => FlagToken flag -> ClsToken c -> (forall a. c a => a -> m a) -> b -> m b
- appIf :: forall c b. App (AppSelector c b) c b => ClsToken c -> (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b -> b
- appIfM :: forall c b m. (App (AppSelector c b) c b, Monad m) => ClsToken c -> (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> b -> m 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
- class MonoMatch a b where
Documentation
classyTraverse :: forall c b. ClassyPlate c b => (forall a. c a => a -> a) -> b -> b Source #
Traverse the data structure with a polymorphic function.
classyTraverseM :: forall c b m. (ClassyPlate c b, Monad m) => (forall a. c a => a -> m a) -> b -> m b Source #
Traverse the data structure with a polymorphic monadic function.
selectiveTraverse :: forall c b. ClassyPlate c b => (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b Source #
Traverse only those parts that are selected by the given selector function.
selectiveTraverseM :: forall c b m. (ClassyPlate c b, Monad m) => (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> b -> m b Source #
Traverse only those parts that are selected by the given monadic selector function.
smartTraverse :: forall c b. SmartClassyPlate c (ClassIgnoresSubtree c b) b => (forall a. c a => a -> a) -> b -> b Source #
Traverse only those parts of the data structure that could possibly contain elements that the given function can be applied on
smartTraverseM :: forall c b m. (SmartClassyPlate c (ClassIgnoresSubtree c b) b, Monad m) => (forall a. c a => a -> m a) -> b -> m b Source #
Traverse only those parts of the data structure that could possibly contain elements that the given monadic function can be applied on
class GoodOperationFor c b => ClassyPlate c b where Source #
A class for traversals that use a polymorphic function to visit all applicable elements.
classyTraverse_ :: ClsToken c -> (forall a. c a => a -> a) -> b -> b Source #
classyTraverseM_ :: Monad m => ClsToken c -> (forall a. c a => a -> m a) -> b -> m b Source #
selectiveTraverse_ :: ClsToken c -> (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b Source #
selectiveTraverseM_ :: Monad m => ClsToken c -> (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> 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. c a => a -> a) -> b -> b Source #
smartTraverseM_ :: Monad m => FlagToken sel -> ClsToken c -> (forall a. c a => a -> m a) -> b -> m b Source #
GoodOperationForAuto c b => SmartClassyPlate c True b Source # | |
classyTraverse_ :: ClassyPlate c b => ClsToken c -> (forall a. c a => a -> a) -> b -> b Source #
classyTraverseM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. c a => a -> m a) -> b -> m b Source #
selectiveTraverse_ :: ClassyPlate c b => ClsToken c -> (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b Source #
selectiveTraverseM_ :: (ClassyPlate c b, Monad m) => ClsToken c -> (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> b -> m b Source #
smartTraverse_ :: SmartClassyPlate c sel b => FlagToken sel -> ClsToken c -> (forall a. c a => a -> a) -> b -> b Source #
smartTraverseM_ :: (SmartClassyPlate c sel b, Monad m) => FlagToken sel -> ClsToken c -> (forall a. c a => a -> m a) -> b -> m b Source #
appM :: (App flag c b, Monad m) => FlagToken flag -> ClsToken c -> (forall a. c a => a -> m a) -> b -> m b Source #
appIf :: forall c b. App (AppSelector c b) c b => ClsToken c -> (forall a. c a => a -> a) -> (forall a. c a => a -> Bool) -> b -> b -> b Source #
appIfM :: forall c b m. (App (AppSelector c b) c b, Monad m) => ClsToken c -> (forall a. c a => a -> m a) -> (forall a. c a => a -> m Bool) -> b -> m 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 #