Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class Monad m => MonadCfgInsertion m fs l where Source #
dominatingPrependFirstOpts, dominatingPrependLastOpts, dominatingAppendFirstOpts, dominatingAppendLastOpts, firstPredPrependLastOpts, restPredPrependLastOpts
dominatingPrependFirstOpts :: TermLab fs i -> TermLab fs l -> EmptyInsertOkay -> m () Source #
dominatingPrependLastOpts :: TermLab fs i -> TermLab fs l -> EmptyInsertOkay -> m () Source #
dominatingAppendFirstOpts :: TermLab fs i -> TermLab fs l -> EmptyInsertOkay -> m () Source #
dominatingAppendLastOpts :: TermLab fs i -> TermLab fs l -> EmptyInsertOkay -> m () Source #
firstPredPrependLastOpts :: TermLab fs i -> TermLab fs l -> EmptyInsertOkay -> m () Source #
restPredPrependLastOpts :: TermLab fs i -> TermLab fs l -> EmptyInsertOkay -> m () Source #
dominatingPrependFirst :: TermLab fs i -> TermLab fs l -> m () Source #
dominatingPrependLast :: TermLab fs i -> TermLab fs l -> m () Source #
dominatingAppendFirst :: TermLab fs i -> TermLab fs l -> m () Source #
dominatingAppendLast :: TermLab fs i -> TermLab fs l -> m () Source #
firstPredPrependLast :: TermLab fs i -> TermLab fs l -> m () Source #
restPredPrependLast :: TermLab fs i -> TermLab fs l -> m () Source #
Instances
type CfgInserterT fs l m = WriterT [Action fs l] m Source #
performCfgInsertions :: (MonadAnnotater Label m, InsertAt fs l, All HTraversable fs, All HFunctor fs, All HFoldable fs) => Proxy l -> ProgInfo fs -> RewriteM (CfgInserterT fs l m) (TermLab fs) i -> RewriteM m (TermLab fs) i Source #