Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
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 #
module Data.Generics.ClassyPlate.TH