retrie-1.2.3: A powerful, easy-to-use codemodding tool for Haskell.
Safe HaskellNone
LanguageHaskell2010

Retrie.Expr

Documentation

bitraverseHsConDetails :: Applicative m => ([tyarg] -> m [tyarg']) -> (arg -> m arg') -> (rec -> m rec') -> HsConDetails tyarg arg rec -> m (HsConDetails tyarg' arg' rec') #

getUnparened :: Data k => k -> k #

mkApps :: forall (m :: Type -> Type). MonadIO m => LHsExpr GhcPs -> [LHsExpr GhcPs] -> TransformT m (LHsExpr GhcPs) #

mkEpAnn :: forall (m :: Type -> Type) an. Monad m => DeltaPos -> an -> TransformT m (EpAnn an) #

mkHsAppsTy :: forall (m :: Type -> Type). Monad m => [LHsType GhcPs] -> TransformT m (LHsType GhcPs) #

mkLet :: forall (m :: Type -> Type). Monad m => HsLocalBinds GhcPs -> LHsExpr GhcPs -> TransformT m (LHsExpr GhcPs) #

mkLoc :: forall e (m :: Type -> Type). (Data e, Monad m) => e -> TransformT m (Located e) #

mkLocA :: forall e (m :: Type -> Type) an. (Data e, Monad m, Monoid an) => DeltaPos -> e -> TransformT m (LocatedAn an e) #

mkVarPat :: forall (m :: Type -> Type). Monad m => LocatedN RdrName -> TransformT m (LPat GhcPs) #

mkTyVar :: forall (m :: Type -> Type). Monad m => LocatedN RdrName -> TransformT m (LHsType GhcPs) #

parenify :: forall (m :: Type -> Type). Monad m => Context -> LHsExpr GhcPs -> TransformT m (LHsExpr GhcPs) #

parenifyT :: forall (m :: Type -> Type). Monad m => Context -> LHsType GhcPs -> TransformT m (LHsType GhcPs) #

parenifyP :: forall (m :: Type -> Type). Monad m => Context -> LPat GhcPs -> TransformT m (LPat GhcPs) #

patToExpr :: forall (m :: Type -> Type). MonadIO m => LPat GhcPs -> PatQ m (LHsExpr GhcPs) #