haskell-tools-ast-0.2.0.0: Haskell AST for efficient tooling

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AST.Instances.SemanticTraversal

Contents

Description

Generating instances for traversing the semantic information of the Haskell Representation

Documentation

Orphan instances

SemanticTraversal QualifiedName Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> QualifiedName dom1 st -> f (QualifiedName dom2 st) Source #

SemanticTraversal FieldWildcard Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FieldWildcard dom1 st -> f (FieldWildcard dom2 st) Source #

SemanticTraversal Cmd Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Cmd dom1 st -> f (Cmd dom2 st) Source #

SemanticTraversal Expr Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Expr dom1 st -> f (Expr dom2 st) Source #

SemanticTraversal RhsGuard Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> RhsGuard dom1 st -> f (RhsGuard dom2 st) Source #

SemanticTraversal LocalBinds Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> LocalBinds dom1 st -> f (LocalBinds dom2 st) Source #

SemanticTraversal LocalBind Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> LocalBind dom1 st -> f (LocalBind dom2 st) Source #

SemanticTraversal Bracket Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Bracket dom1 st -> f (Bracket dom2 st) Source #

SemanticTraversal QuasiQuote Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> QuasiQuote dom1 st -> f (QuasiQuote dom2 st) Source #

SemanticTraversal Splice Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Splice dom1 st -> f (Splice dom2 st) Source #

SemanticTraversal ImportDecl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ImportDecl dom1 st -> f (ImportDecl dom2 st) Source #

SemanticTraversal Module Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Module dom1 st -> f (Module dom2 st) Source #

SemanticTraversal PhaseInvert Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PhaseInvert dom1 st -> f (PhaseInvert dom2 st) Source #

SemanticTraversal PhaseNumber Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PhaseNumber dom1 st -> f (PhaseNumber dom2 st) Source #

SemanticTraversal PhaseControl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PhaseControl dom1 st -> f (PhaseControl dom2 st) Source #

SemanticTraversal LineNumber Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> LineNumber dom1 st -> f (LineNumber dom2 st) Source #

SemanticTraversal Precedence Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Precedence dom1 st -> f (Precedence dom2 st) Source #

SemanticTraversal ConlikeAnnot Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ConlikeAnnot dom1 st -> f (ConlikeAnnot dom2 st) Source #

SemanticTraversal Role Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Role dom1 st -> f (Role dom2 st) Source #

SemanticTraversal Assoc Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Assoc dom1 st -> f (Assoc dom2 st) Source #

SemanticTraversal Safety Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Safety dom1 st -> f (Safety dom2 st) Source #

SemanticTraversal ArrowAppl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ArrowAppl dom1 st -> f (ArrowAppl dom2 st) Source #

SemanticTraversal CallConv Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> CallConv dom1 st -> f (CallConv dom2 st) Source #

SemanticTraversal OverlapPragma Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> OverlapPragma dom1 st -> f (OverlapPragma dom2 st) Source #

SemanticTraversal TypeKeyword Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeKeyword dom1 st -> f (TypeKeyword dom2 st) Source #

SemanticTraversal DoKind Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> DoKind dom1 st -> f (DoKind dom2 st) Source #

SemanticTraversal DataOrNewtypeKeyword Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> DataOrNewtypeKeyword dom1 st -> f (DataOrNewtypeKeyword dom2 st) Source #

SemanticTraversal ModuleName Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ModuleName dom1 st -> f (ModuleName dom2 st) Source #

SemanticTraversal StringNode Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> StringNode dom1 st -> f (StringNode dom2 st) Source #

SemanticTraversal UnqualName Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> UnqualName dom1 st -> f (UnqualName dom2 st) Source #

SemanticTraversal Name Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Name dom1 st -> f (Name dom2 st) Source #

SemanticTraversal Operator Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Operator dom1 st -> f (Operator dom2 st) Source #

SemanticTraversal Literal Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Literal dom1 st -> f (Literal dom2 st) Source #

SemanticTraversal Kind Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Kind dom1 st -> f (Kind dom2 st) Source #

SemanticTraversal KindConstraint Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> KindConstraint dom1 st -> f (KindConstraint dom2 st) Source #

SemanticTraversal Assertion Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Assertion dom1 st -> f (Assertion dom2 st) Source #

SemanticTraversal Context Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Context dom1 st -> f (Context dom2 st) Source #

SemanticTraversal Type Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Type dom1 st -> f (Type dom2 st) Source #

SemanticTraversal TyVar Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TyVar dom1 st -> f (TyVar dom2 st) Source #

SemanticTraversal PatternField Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PatternField dom1 st -> f (PatternField dom2 st) Source #

SemanticTraversal Pattern Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Pattern dom1 st -> f (Pattern dom2 st) Source #

SemanticTraversal CompStmt Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> CompStmt dom1 st -> f (CompStmt dom2 st) Source #

SemanticTraversal ListCompBody Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ListCompBody dom1 st -> f (ListCompBody dom2 st) Source #

SemanticTraversal Number Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Number dom1 st -> f (Number dom2 st) Source #

SemanticTraversal SourceRange Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> SourceRange dom1 st -> f (SourceRange dom2 st) Source #

SemanticTraversal ExprPragma Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ExprPragma dom1 st -> f (ExprPragma dom2 st) Source #

SemanticTraversal TupSecElem Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TupSecElem dom1 st -> f (TupSecElem dom2 st) Source #

SemanticTraversal FieldUpdate Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FieldUpdate dom1 st -> f (FieldUpdate dom2 st) Source #

SemanticTraversal MinimalFormula Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> MinimalFormula dom1 st -> f (MinimalFormula dom2 st) Source #

SemanticTraversal AnnotationSubject Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> AnnotationSubject dom1 st -> f (AnnotationSubject dom2 st) Source #

SemanticTraversal Rule Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Rule dom1 st -> f (Rule dom2 st) Source #

SemanticTraversal TopLevelPragma Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TopLevelPragma dom1 st -> f (TopLevelPragma dom2 st) Source #

SemanticTraversal GuardedRhs Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> GuardedRhs dom1 st -> f (GuardedRhs dom2 st) Source #

SemanticTraversal Rhs Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Rhs dom1 st -> f (Rhs dom2 st) Source #

SemanticTraversal FixitySignature Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FixitySignature dom1 st -> f (FixitySignature dom2 st) Source #

SemanticTraversal TypeSignature Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeSignature dom1 st -> f (TypeSignature dom2 st) Source #

SemanticTraversal MatchLhs Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> MatchLhs dom1 st -> f (MatchLhs dom2 st) Source #

SemanticTraversal Match Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Match dom1 st -> f (Match dom2 st) Source #

SemanticTraversal ValueBind Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ValueBind dom1 st -> f (ValueBind dom2 st) Source #

SemanticTraversal PatSynWhere Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PatSynWhere dom1 st -> f (PatSynWhere dom2 st) Source #

SemanticTraversal PatSynRhs Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PatSynRhs dom1 st -> f (PatSynRhs dom2 st) Source #

SemanticTraversal PatSynLhs Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PatSynLhs dom1 st -> f (PatSynLhs dom2 st) Source #

SemanticTraversal PatternSynonym Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PatternSynonym dom1 st -> f (PatternSynonym dom2 st) Source #

SemanticTraversal PatternTypeSignature Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> PatternTypeSignature dom1 st -> f (PatternTypeSignature dom2 st) Source #

SemanticTraversal TypeEqn Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeEqn dom1 st -> f (TypeEqn dom2 st) Source #

SemanticTraversal InstanceHead Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> InstanceHead dom1 st -> f (InstanceHead dom2 st) Source #

SemanticTraversal InstanceRule Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> InstanceRule dom1 st -> f (InstanceRule dom2 st) Source #

SemanticTraversal Deriving Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Deriving dom1 st -> f (Deriving dom2 st) Source #

SemanticTraversal FieldDecl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FieldDecl dom1 st -> f (FieldDecl dom2 st) Source #

SemanticTraversal ConDecl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ConDecl dom1 st -> f (ConDecl dom2 st) Source #

SemanticTraversal FunDep Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FunDep dom1 st -> f (FunDep dom2 st) Source #

SemanticTraversal FunDeps Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FunDeps dom1 st -> f (FunDeps dom2 st) Source #

SemanticTraversal GadtConType Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> GadtConType dom1 st -> f (GadtConType dom2 st) Source #

SemanticTraversal GadtConDecl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> GadtConDecl dom1 st -> f (GadtConDecl dom2 st) Source #

SemanticTraversal InstBodyDecl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> InstBodyDecl dom1 st -> f (InstBodyDecl dom2 st) Source #

SemanticTraversal InstBody Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> InstBody dom1 st -> f (InstBody dom2 st) Source #

SemanticTraversal DeclHead Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> DeclHead dom1 st -> f (DeclHead dom2 st) Source #

SemanticTraversal ClassElement Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ClassElement dom1 st -> f (ClassElement dom2 st) Source #

SemanticTraversal ClassBody Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ClassBody dom1 st -> f (ClassBody dom2 st) Source #

SemanticTraversal InjectivityAnn Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> InjectivityAnn dom1 st -> f (InjectivityAnn dom2 st) Source #

SemanticTraversal TypeFamilySpec Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeFamilySpec dom1 st -> f (TypeFamilySpec dom2 st) Source #

SemanticTraversal TypeFamily Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeFamily dom1 st -> f (TypeFamily dom2 st) Source #

SemanticTraversal Decl Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Decl dom1 st -> f (Decl dom2 st) Source #

SemanticTraversal ImportRenaming Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ImportRenaming dom1 st -> f (ImportRenaming dom2 st) Source #

SemanticTraversal TypeNamespace Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> TypeNamespace dom1 st -> f (TypeNamespace dom2 st) Source #

SemanticTraversal ImportSafe Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ImportSafe dom1 st -> f (ImportSafe dom2 st) Source #

SemanticTraversal ImportSource Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ImportSource dom1 st -> f (ImportSource dom2 st) Source #

SemanticTraversal ImportQualified Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ImportQualified dom1 st -> f (ImportQualified dom2 st) Source #

SemanticTraversal ImportSpec Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ImportSpec dom1 st -> f (ImportSpec dom2 st) Source #

SemanticTraversal LanguageExtension Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> LanguageExtension dom1 st -> f (LanguageExtension dom2 st) Source #

SemanticTraversal ModulePragma Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ModulePragma dom1 st -> f (ModulePragma dom2 st) Source #

SemanticTraversal FilePragma Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> FilePragma dom1 st -> f (FilePragma dom2 st) Source #

SemanticTraversal SubSpec Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> SubSpec dom1 st -> f (SubSpec dom2 st) Source #

SemanticTraversal IESpec Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> IESpec dom1 st -> f (IESpec dom2 st) Source #

SemanticTraversal ExportSpec Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ExportSpec dom1 st -> f (ExportSpec dom2 st) Source #

SemanticTraversal ExportSpecList Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ExportSpecList dom1 st -> f (ExportSpecList dom2 st) Source #

SemanticTraversal ModuleHead Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> ModuleHead dom1 st -> f (ModuleHead dom2 st) Source #

SemanticTraversal QQString Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> QQString dom1 st -> f (QQString dom2 st) Source #

SemanticTraversal t0 => SemanticTraversal (Promoted t0) Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Promoted t0 dom1 st -> f (Promoted t0 dom2 st) Source #

SemanticTraversal expr0 => SemanticTraversal (Stmt' expr0) Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Stmt' expr0 dom1 st -> f (Stmt' expr0 dom2 st) Source #

SemanticTraversal expr0 => SemanticTraversal (GuardedCaseRhs' expr0) Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> GuardedCaseRhs' expr0 dom1 st -> f (GuardedCaseRhs' expr0 dom2 st) Source #

SemanticTraversal expr0 => SemanticTraversal (CaseRhs' expr0) Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> CaseRhs' expr0 dom1 st -> f (CaseRhs' expr0 dom2 st) Source #

SemanticTraversal expr0 => SemanticTraversal (Alt' expr0) Source # 

Methods

semaTraverse :: Monad f => SemaTrf f dom1 dom2 -> Alt' expr0 dom1 st -> f (Alt' expr0 dom2 st) Source #