Safe Haskell | None |
---|---|
Language | Haskell2010 |
A custom AST representation for Haskell tools. Different layers of the AST are recursive, to separate them into modules we introduced source imports.
- data Module a = Module {
- _filePragmas :: AnnList FilePragma a
- _modHead :: AnnMaybe ModuleHead a
- _modImports :: AnnList ImportDecl a
- _modDecl :: AnnList Decl a
- data ModuleHead a = ModuleHead {
- _mhName :: Ann SimpleName a
- _mhExports :: AnnMaybe ExportSpecList a
- _mhPragma :: AnnMaybe ModulePragma a
- data ExportSpecList a = ExportSpecList {
- _espExports :: AnnList ExportSpec a
- data ExportSpec a
- = DeclExport {
- _exportDecl :: Ann IESpec a
- | ModuleExport { }
- = DeclExport {
- data IESpec a = IESpec {}
- data SubSpec a
- = SubSpecAll
- | SubSpecList { }
- data FilePragma a
- = LanguagePragma { }
- | OptionsPragma {
- _opStr :: Ann StringNode a
- data ModulePragma a
- = ModuleWarningPragma { }
- | ModuleDeprecatedPragma { }
- data LanguageExtension a = LanguageExtension {}
- data ImportDecl a = ImportDecl {}
- data ImportSpec a
- = ImportSpecList {
- _importSpecList :: AnnList IESpec a
- | ImportSpecHiding { }
- = ImportSpecList {
- data ImportQualified a = ImportQualified
- data ImportSource a = ImportSource
- data ImportSafe a = ImportSafe
- data TypeNamespace a = TypeNamespace
- data ImportRenaming a = ImportRenaming {
- _importRename :: Ann SimpleName a
- data Splice a
- = IdSplice { }
- | ParenSplice {
- _spliceExpr :: Ann Expr a
- data QuasiQuote a = QuasiQuote {
- _qqExprName :: Ann Name a
- _qqExprBody :: Ann QQString a
- data QQString a = QQString {}
- data Bracket a
- = ExprBracket {
- _bracketExpr :: Ann Expr a
- | PatternBracket {
- _bracketPattern :: Ann Pattern a
- | TypeBracket {
- _bracketType :: Ann Type a
- | DeclsBracket {
- _bracketDecl :: AnnList Decl a
- = ExprBracket {
- data Decl a
- = TypeDecl { }
- | TypeFamilyDecl {
- _declTypeFamily :: Ann TypeFamily a
- | ClosedTypeFamilyDecl { }
- | DataDecl {
- _declNewtype :: Ann DataOrNewtypeKeyword a
- _declCtx :: AnnMaybe Context a
- _declHead :: Ann DeclHead a
- _declCons :: AnnList ConDecl a
- _declDeriving :: AnnMaybe Deriving a
- | GDataDecl {
- _declNewtype :: Ann DataOrNewtypeKeyword a
- _declCtx :: AnnMaybe Context a
- _declHead :: Ann DeclHead a
- _declKind :: AnnMaybe KindConstraint a
- _declGadt :: AnnList GadtConDecl a
- _declDeriving :: AnnMaybe Deriving a
- | TypeInstDecl {
- _declInstance :: Ann InstanceRule a
- _declAssignedType :: Ann Type a
- | DataInstDecl { }
- | GDataInstDecl { }
- | ClassDecl { }
- | InstDecl { }
- | PatternSynonymDecl {
- _declPatSyn :: Ann PatternSynonym a
- | DerivDecl { }
- | FixityDecl { }
- | DefaultDecl {
- _declTypes :: AnnList Type a
- | TypeSigDecl {
- _declTypeSig :: Ann TypeSignature a
- | PatTypeSigDecl { }
- | ValueBinding {
- _declValBind :: Ann ValueBind a
- | ForeignImport { }
- | ForeignExport { }
- | PragmaDecl {
- _declPragma :: Ann TopLevelPragma a
- | RoleDecl {
- _declRoleType :: Ann SimpleName a
- _declRoles :: AnnList Role a
- | SpliceDecl {
- _declSplice :: Ann Splice a
- data TypeFamily a
- = TypeFamily { }
- | DataFamily { }
- data TypeFamilySpec a
- = TypeFamilyKind {
- _tfSpecKind :: Ann KindConstraint a
- | TypeFamilyInjectivity { }
- = TypeFamilyKind {
- data InjectivityAnn a = InjectivityAnn {
- _injAnnRes :: Ann Name a
- _injAnnDeps :: AnnList Name a
- data ClassBody a = ClassBody {}
- data ClassElement a
- = ClsSig {
- _ceTypeSig :: Ann TypeSignature a
- | ClsDef { }
- | ClsTypeFam {
- _ceTypeFam :: Ann TypeFamily a
- | ClsTypeDef { }
- | ClsDefSig { }
- | ClsMinimal { }
- | ClsPatSig { }
- = ClsSig {
- data DeclHead a
- data InstBody a = InstBody {}
- data InstBodyDecl a
- = InstBodyNormalDecl { }
- | InstBodyTypeSig { }
- | InstBodyTypeDecl {
- _instBodyTypeEqn :: Ann TypeEqn a
- | InstBodyDataDecl { }
- | InstBodyGadtDataDecl { }
- | SpecializeInstance { }
- | InstBodyPatSyn { }
- data GadtConDecl a = GadtConDecl {
- _gadtConNames :: AnnList Name a
- _gadtConType :: Ann GadtConType a
- data GadtConType a
- = GadtNormalType {
- _gadtConNormalType :: Ann Type a
- | GadtRecordType { }
- = GadtNormalType {
- data GadtField a
- = GadtNormalField {
- _gadtFieldType :: Ann Type a
- | GadtNamedField {
- _gadtFieldName :: Ann Name a
- _gadtFieldType :: Ann Type a
- = GadtNormalField {
- data FunDeps a = FunDeps {}
- data FunDep a = FunDep {
- _funDepLhs :: AnnList Name a
- _funDepRhs :: AnnList Name a
- data ConDecl a
- = ConDecl {
- _conDeclName :: Ann Name a
- _conDeclArgs :: AnnList Type a
- | RecordDecl {
- _conDeclName :: Ann Name a
- _conDeclFields :: AnnList FieldDecl a
- | InfixConDecl {
- _conDeclLhs :: Ann Type a
- _conDeclOp :: Ann Operator a
- _conDeclRhs :: Ann Type a
- = ConDecl {
- data FieldDecl a = FieldDecl {
- _fieldNames :: AnnList Name a
- _fieldType :: Ann Type a
- data Deriving a
- = DerivingOne {
- _oneDerived :: Ann InstanceHead a
- | Derivings { }
- = DerivingOne {
- data InstanceRule a
- = InstanceRule { }
- | InstanceParen {
- _irRule :: Ann InstanceRule a
- data InstanceHead a
- = InstanceHeadCon {
- _ihConName :: Ann Name a
- | InstanceHeadInfix { }
- | InstanceHeadParen {
- _ihHead :: Ann InstanceHead a
- | InstanceHeadApp { }
- = InstanceHeadCon {
- data TypeEqn a = TypeEqn {}
- data PatternTypeSignature a = PatternTypeSignature {
- _patSigName :: Ann Name a
- _patSigType :: Ann Type a
- data PatternSynonym a = PatternSynonym {}
- data PatSynLhs a
- = NormalPatSyn { }
- | InfixPatSyn {
- _patSynLhs :: Ann Name a
- _patSynOp :: Ann Operator a
- _patSynRhs :: Ann Name a
- | RecordPatSyn { }
- data PatSynRhs a
- = BidirectionalPatSyn {
- _patRhsPat :: Ann Pattern a
- _patRhsOpposite :: AnnMaybe PatSynWhere a
- | OneDirectionalPatSyn {
- _patRhsPat :: Ann Pattern a
- = BidirectionalPatSyn {
- data PatSynWhere a = PatSynWhere {
- _patOpposite :: AnnList Match a
- data ValueBind a
- = SimpleBind {
- _valBindPat :: Ann Pattern a
- _valBindRhs :: Ann Rhs a
- _valBindLocals :: AnnMaybe LocalBinds a
- | FunBind {
- _funBindMatches :: AnnList Match a
- = SimpleBind {
- data Match a = Match {
- _matchLhs :: Ann MatchLhs a
- _matchRhs :: Ann Rhs a
- _matchBinds :: AnnMaybe LocalBinds a
- data MatchLhs a
- = NormalLhs {
- _matchLhsName :: Ann Name a
- _matchLhsArgs :: AnnList Pattern a
- | InfixLhs {
- _matchLhsLhs :: Ann Pattern a
- _matchLhsOperator :: Ann Operator a
- _matchLhsRhs :: Ann Pattern a
- _matchLhsArgs :: AnnList Pattern a
- = NormalLhs {
- data LocalBinds a = LocalBinds {
- _localBinds :: AnnList LocalBind a
- data LocalBind a
- = LocalValBind { }
- | LocalSignature {
- _localSig :: Ann TypeSignature a
- | LocalFixity { }
- data TypeSignature a = TypeSignature {}
- data FixitySignature a = FixitySignature {
- _fixityAssoc :: Ann Assoc a
- _fixityPrecedence :: Ann Precedence a
- _fixityOperators :: AnnList Operator a
- data Rhs a
- = UnguardedRhs { }
- | GuardedRhss {
- _rhsGuards :: AnnList GuardedRhs a
- data GuardedRhs a = GuardedRhs {
- _guardStmts :: AnnList RhsGuard a
- _guardExpr :: Ann Expr a
- data RhsGuard a
- = GuardBind { }
- | GuardLet {
- _guardBinds :: AnnList LocalBind a
- | GuardCheck {
- _guardCheck :: Ann Expr a
- data TopLevelPragma a
- = RulePragma {
- _pragmaRule :: AnnList Rule a
- | DeprPragma {
- _pragmaObjects :: AnnList Name a
- _pragmaMessage :: Ann StringNode a
- | WarningPragma {
- _pragmaObjects :: AnnList Name a
- _pragmaMessage :: Ann StringNode a
- | AnnPragma { }
- | InlinePragma {
- _pragmaConlike :: AnnMaybe ConlikeAnnot a
- _pragmaPhase :: AnnMaybe PhaseControl a
- _inlineDef :: Ann Name a
- | NoInlinePragma { }
- | InlinablePragma {
- _pragmaPhase :: AnnMaybe PhaseControl a
- _inlinableDef :: Ann Name a
- | LinePragma { }
- | SpecializePragma {
- _pragmaPhase :: AnnMaybe PhaseControl a
- _specializeDef :: Ann Name a
- _specializeType :: AnnList Type a
- = RulePragma {
- data Rule a = Rule {
- _ruleName :: Ann StringNode a
- _rulePhase :: AnnMaybe PhaseControl a
- _ruleBounded :: AnnList TyVar a
- _ruleLhs :: Ann Expr a
- _ruleRhs :: Ann Expr a
- data AnnotationSubject a
- = NameAnnotation {
- _annotateName :: Ann Name a
- | TypeAnnotation {
- _annotateName :: Ann Name a
- | ModuleAnnotation
- = NameAnnotation {
- data MinimalFormula a
- = MinimalName {
- _minimalName :: Ann Name a
- | MinimalParen { }
- | MinimalOr { }
- | MinimalAnd { }
- = MinimalName {
- data Expr a
- = Var { }
- | Lit { }
- | InfixApp { }
- | PrefixApp { }
- | App { }
- | Lambda {
- _exprBindings :: AnnList Pattern a
- _exprInner :: Ann Expr a
- | Let {
- _exprFunBind :: AnnList LocalBind a
- _exprInner :: Ann Expr a
- | If { }
- | MultiIf { }
- | Case { }
- | Do { }
- | Tuple {
- _tupleElems :: AnnList Expr a
- | UnboxedTuple {
- _tupleElems :: AnnList Expr a
- | TupleSection { }
- | UnboxedTupSec { }
- | List {
- _listElems :: AnnList Expr a
- | ParArray {
- _listElems :: AnnList Expr a
- | Paren {
- _exprInner :: Ann Expr a
- | LeftSection { }
- | RightSection { }
- | RecCon {
- _exprRecName :: Ann Name a
- _exprRecFields :: AnnList FieldUpdate a
- | RecUpdate {
- _exprInner :: Ann Expr a
- _exprRecFields :: AnnList FieldUpdate a
- | Enum { }
- | ParArrayEnum { }
- | ListComp { }
- | ParArrayComp { }
- | TypeSig { }
- | ExplTypeApp { }
- | VarQuote {
- _quotedName :: Ann Name a
- | TypeQuote {
- _quotedName :: Ann Name a
- | BracketExpr { }
- | Splice {
- _innerExpr :: Ann Splice a
- | QuasiQuoteExpr {
- _exprQQ :: Ann QuasiQuote a
- | ExprPragma {
- _exprPragma :: Ann ExprPragma a
- | Proc { }
- | ArrowApp { }
- | LamCase { }
- | StaticPtr {
- _exprInner :: Ann Expr a
- data FieldUpdate a
- = NormalFieldUpdate {
- _fieldName :: Ann Name a
- _fieldValue :: Ann Expr a
- | FieldPun {
- _fieldUpdateName :: Ann Name a
- | FieldWildcard
- = NormalFieldUpdate {
- data TupSecElem a
- = Present {
- _tupSecExpr :: Ann Expr a
- | Missing
- = Present {
- data Alt' expr a = Alt {
- _altPattern :: Ann Pattern a
- _altRhs :: Ann (CaseRhs' expr) a
- _altBinds :: AnnMaybe LocalBinds a
- type Alt = Alt' Expr
- type CmdAlt = Alt' Cmd
- data CaseRhs' expr a
- = UnguardedCaseRhs {
- _rhsCaseExpr :: Ann expr a
- | GuardedCaseRhss {
- _rhsCaseGuards :: AnnList (GuardedCaseRhs' expr) a
- = UnguardedCaseRhs {
- type CaseRhs = CaseRhs' Expr
- type CmdCaseRhs = CaseRhs' Cmd
- data GuardedCaseRhs' expr a = GuardedCaseRhs {
- _caseGuardStmts :: AnnList RhsGuard a
- _caseGuardExpr :: Ann expr a
- type GuardedCaseRhs = GuardedCaseRhs' Expr
- type CmdGuardedCaseRhs = GuardedCaseRhs' Cmd
- data ExprPragma a
- = CorePragma {
- _pragmaStr :: Ann StringNode a
- | SccPragma {
- _pragmaStr :: Ann StringNode a
- | GeneratedPragma { }
- = CorePragma {
- data SourceRange a = SourceRange {
- _srFileName :: Ann StringNode a
- _srFromLine :: Ann Number a
- _srFromCol :: Ann Number a
- _srToLine :: Ann Number a
- _srToCol :: Ann Number a
- data Number a = Number {}
- data Cmd a
- = ArrowAppCmd { }
- | ArrowFormCmd { }
- | AppCmd {
- _cmdInnerCmd :: Ann Cmd a
- _cmdApplied :: Ann Expr a
- | InfixCmd {
- _cmdLeftCmd :: Ann Cmd a
- _cmdOperator :: Ann Name a
- _cmdRightCmd :: Ann Cmd a
- | LambdaCmd { }
- | ParenCmd { }
- | CaseCmd { }
- | IfCmd { }
- | LetCmd { }
- | DoCmd { }
- data Stmt' expr a
- type Stmt = Stmt' Expr
- data ListCompBody a = ListCompBody {
- _compStmts :: AnnList CompStmt a
- data CompStmt a
- data Pattern a
- = VarPat {
- _patternName :: Ann Name a
- | LitPat {
- _patternLiteral :: Ann Literal a
- | InfixPat {
- _patternLhs :: Ann Pattern a
- _patternOperator :: Ann Operator a
- _patternRhs :: Ann Pattern a
- | AppPat {
- _patternName :: Ann Name a
- _patternArgs :: AnnList Pattern a
- | TuplePat {
- _patternElems :: AnnList Pattern a
- | UnboxTuplePat {
- _patternElems :: AnnList Pattern a
- | ListPat {
- _patternElems :: AnnList Pattern a
- | ParArrPat {
- _patternElems :: AnnList Pattern a
- | ParenPat {
- _patternInner :: Ann Pattern a
- | RecPat {
- _patternName :: Ann Name a
- _patternFields :: AnnList PatternField a
- | AsPat {
- _patternName :: Ann Name a
- _patternInner :: Ann Pattern a
- | WildPat
- | IrrPat {
- _patternInner :: Ann Pattern a
- | BangPat {
- _patternInner :: Ann Pattern a
- | TypeSigPat {
- _patternInner :: Ann Pattern a
- _patternType :: Ann Type a
- | ViewPat {
- _patternExpr :: Ann Expr a
- _patternInner :: Ann Pattern a
- | SplicePat {
- _patternSplice :: Ann Splice a
- | QuasiQuotePat {
- _patQQ :: Ann QuasiQuote a
- | NPlusKPat {
- _patternName :: Ann Name a
- _patternLit :: Ann Literal a
- = VarPat {
- data PatternField a
- = NormalFieldPattern {
- _fieldPatternName :: Ann Name a
- _fieldPattern :: Ann Pattern a
- | FieldPunPattern {
- _fieldPatternName :: Ann Name a
- | FieldWildcardPattern
- = NormalFieldPattern {
- data TyVar a = TyVarDecl {
- _tyVarName :: Ann Name a
- _tyVarKind :: AnnMaybe KindConstraint a
- data Type a
- = TyForall { }
- | TyCtx { }
- | TyFun {
- _typeParam :: Ann Type a
- _typeResult :: Ann Type a
- | TyTuple {
- _typeElements :: AnnList Type a
- | TyUnbTuple {
- _typeElements :: AnnList Type a
- | TyList {
- _typeElement :: Ann Type a
- | TyParArray {
- _typeElement :: Ann Type a
- | TyApp { }
- | TyVar { }
- | TyParen {
- _typeInner :: Ann Type a
- | TyInfix {
- _typeLeft :: Ann Type a
- _typeOperator :: Ann Operator a
- _typeRight :: Ann Type a
- | TyKinded { }
- | TyPromoted {
- _tpPromoted :: Ann (Promoted Type) a
- | TySplice { }
- | TyQuasiQuote {
- _typeQQ :: QuasiQuote a
- | TyBang {
- _typeInner :: Ann Type a
- | TyLazy {
- _typeInner :: Ann Type a
- | TyUnpack {
- _typeInner :: Ann Type a
- | TyNoUnpack {
- _typeInner :: Ann Type a
- | TyWildcard
- | TyNamedWildc {
- _typeWildcardName :: Ann Name a
- data Context a
- = ContextOne { }
- | ContextMulti { }
- data Assertion a
- = ClassAssert {
- _assertClsName :: Ann Name a
- _assertTypes :: AnnList Type a
- | InfixAssert {
- _assertLhs :: Ann Type a
- _assertOp :: Ann Operator a
- _assertRhs :: Ann Type a
- = ClassAssert {
- data KindConstraint a = KindConstraint {
- _kindConstr :: Ann Kind a
- data Kind a
- = KindStar
- | KindUnbox
- | KindFn { }
- | KindParen {
- _kindParen :: Ann Kind a
- | KindVar { }
- | KindApp {
- _kindAppFun :: Ann Kind a
- _kindAppArg :: Ann Kind a
- | KindList { }
- | KindPromoted {
- _kindPromoted :: Ann (Promoted Kind) a
- data Promoted t a
- = PromotedInt { }
- | PromotedString { }
- | PromotedCon {
- _promotedConName :: Ann Name a
- | PromotedList {
- _promotedElements :: AnnList t a
- | PromotedTuple {
- _promotedElements :: AnnList t a
- | PromotedUnit
- data Literal a
- = CharLit { }
- | StringLit { }
- | IntLit { }
- | FracLit { }
- | PrimIntLit { }
- | PrimWordLit { }
- | PrimFloatLit { }
- | PrimDoubleLit { }
- | PrimCharLit { }
- | PrimStringLit { }
- data Operator a
- = BacktickOp {
- _operatorName :: Ann SimpleName a
- | NormalOp {
- _operatorName :: Ann SimpleName a
- = BacktickOp {
- data Name a
- = ParenName {
- _simpleName :: Ann SimpleName a
- | NormalName {
- _simpleName :: Ann SimpleName a
- = ParenName {
- data SimpleName a = SimpleName {}
- nameFromList :: AnnList UnqualName a -> SimpleName a
- data UnqualName a = UnqualName {}
- data StringNode a = StringNode {}
- data DataOrNewtypeKeyword a
- data DoKind a
- data TypeKeyword a = TypeKeyword
- data OverlapPragma a
- data CallConv a
- data ArrowAppl a
- data Safety a
- data Assoc a
- data Role a
- data ConlikeAnnot a = ConlikeAnnot
- data Precedence a = Precedence {}
- data LineNumber a = LineNumber {
- _lineNumber :: Int
- data PhaseControl a = PhaseControl {
- _phaseUntil :: AnnMaybe PhaseInvert a
- _phaseNumber :: Ann PhaseNumber a
- data PhaseNumber a = PhaseNumber {}
- data PhaseInvert a = PhaseInvert
- data Ann elem annot = Ann {
- _annotation :: annot
- _element :: elem annot
- element :: forall elem annot elem'. Lens (Ann elem annot) (Ann elem' annot) (elem annot) (elem' annot)
- annotation :: forall elem annot. Lens (Ann elem annot) (Ann elem annot) annot annot
- data NodeInfo sema src = NodeInfo {
- _semanticInfo :: sema
- _sourceInfo :: src
- sourceInfo :: forall sema src src'. Lens (NodeInfo sema src) (NodeInfo sema src') src src'
- semanticInfo :: forall sema src sema'. Lens (NodeInfo sema src) (NodeInfo sema' src) sema sema'
- data SpanInfo
- = NodeSpan { }
- | ListPos { }
- | OptionalPos { }
- optionalPos :: Partial SpanInfo SpanInfo SrcLoc SrcLoc
- optionalBefore :: Partial SpanInfo SpanInfo String String
- optionalAfter :: Partial SpanInfo SpanInfo String String
- nodeSpan :: Partial SpanInfo SpanInfo SrcSpan SrcSpan
- listPos :: Partial SpanInfo SpanInfo SrcLoc SrcLoc
- listIndented :: Partial SpanInfo SpanInfo Bool Bool
- listDefaultSep :: Partial SpanInfo SpanInfo String String
- listBefore :: Partial SpanInfo SpanInfo String String
- listAfter :: Partial SpanInfo SpanInfo String String
- spanRange :: SpanInfo -> SrcSpan
- class HasRange annot where
- type RangeInfo = NodeInfo (SemanticInfo RdrName) SpanInfo
- type RangeWithName = NodeInfo (SemanticInfo Name) SpanInfo
- type RangeWithType = NodeInfo (SemanticInfo Id) SpanInfo
- data SemanticInfo n
- = NoSemanticInfo
- | ScopeInfo {
- _scopedLocals :: [[Name]]
- | NameInfo {
- _scopedLocals :: [[Name]]
- _isDefined :: Bool
- _nameInfo :: n
- | ModuleInfo {
- _defModuleName :: Module
- _importedNames :: [n]
- | ImportInfo {
- _importedModule :: Module
- _availableNames :: [n]
- _importedNames :: [n]
- | AmbiguousNameInfo {
- _scopedLocals :: [[Name]]
- _isDefined :: Bool
- _ambiguousName :: RdrName
- _ambiguousLocation :: SrcSpan
- scopedLocals :: forall n. Partial (SemanticInfo n) (SemanticInfo n) [[Name]] [[Name]]
- nameInfo :: forall n. Partial (SemanticInfo n) (SemanticInfo n) n n
- isDefined :: forall n. Partial (SemanticInfo n) (SemanticInfo n) Bool Bool
- importedNames :: forall n. Partial (SemanticInfo n) (SemanticInfo n) [n] [n]
- importedModule :: forall n. Partial (SemanticInfo n) (SemanticInfo n) Module Module
- defModuleName :: forall n. Partial (SemanticInfo n) (SemanticInfo n) Module Module
- availableNames :: forall n. Partial (SemanticInfo n) (SemanticInfo n) [n] [n]
- ambiguousName :: forall n. Partial (SemanticInfo n) (SemanticInfo n) RdrName RdrName
- ambiguousLocation :: forall n. Partial (SemanticInfo n) (SemanticInfo n) SrcSpan SrcSpan
- data AnnList e a = AnnList {
- _annListAnnot :: a
- _annListElems :: [Ann e a]
- annListElems :: forall e a e'. Lens (AnnList e a) (AnnList e' a) [Ann e a] [Ann e' a]
- annListAnnot :: forall e a. Lens (AnnList e a) (AnnList e a) a a
- annList :: Traversal (AnnList e a) (AnnList e' a) (Ann e a) (Ann e' a)
- data AnnMaybe e a = AnnMaybe {
- _annMaybeAnnot :: a
- _annMaybe :: Maybe (Ann e a)
- annMaybeAnnot :: forall e a. Lens (AnnMaybe e a) (AnnMaybe e a) a a
- annMaybe :: forall e a e'. Lens (AnnMaybe e a) (AnnMaybe e' a) (Maybe (Ann e a)) (Maybe (Ann e' a))
- annJust :: Partial (AnnMaybe e a) (AnnMaybe e' a) (Ann e a) (Ann e' a)
- annNil :: a -> AnnList e a
- isAnnNothing :: AnnMaybe e a -> Bool
- annNothing :: a -> AnnMaybe e a
- class HasAnnot node where
- modImports :: forall a. Lens (Module a) (Module a) (AnnList ImportDecl a) (AnnList ImportDecl a)
- modHead :: forall a. Lens (Module a) (Module a) (AnnMaybe ModuleHead a) (AnnMaybe ModuleHead a)
- modDecl :: forall a. Lens (Module a) (Module a) (AnnList Decl a) (AnnList Decl a)
- filePragmas :: forall a. Lens (Module a) (Module a) (AnnList FilePragma a) (AnnList FilePragma a)
- mhPragma :: forall a. Lens (ModuleHead a) (ModuleHead a) (AnnMaybe ModulePragma a) (AnnMaybe ModulePragma a)
- mhName :: forall a. Lens (ModuleHead a) (ModuleHead a) (Ann SimpleName a) (Ann SimpleName a)
- mhExports :: forall a. Lens (ModuleHead a) (ModuleHead a) (AnnMaybe ExportSpecList a) (AnnMaybe ExportSpecList a)
- espExports :: forall a a'. Lens (ExportSpecList a) (ExportSpecList a') (AnnList ExportSpec a) (AnnList ExportSpec a')
- exportModuleName :: forall a. Partial (ExportSpec a) (ExportSpec a) (Ann SimpleName a) (Ann SimpleName a)
- exportDecl :: forall a. Partial (ExportSpec a) (ExportSpec a) (Ann IESpec a) (Ann IESpec a)
- ieSubspec :: forall a. Lens (IESpec a) (IESpec a) (AnnMaybe SubSpec a) (AnnMaybe SubSpec a)
- ieName :: forall a. Lens (IESpec a) (IESpec a) (Ann Name a) (Ann Name a)
- essList :: forall a a'. Partial (SubSpec a) (SubSpec a') (AnnList Name a) (AnnList Name a')
- modWarningStr :: forall a. Partial (ModulePragma a) (ModulePragma a) (AnnList StringNode a) (AnnList StringNode a)
- modDeprecatedPragma :: forall a. Partial (ModulePragma a) (ModulePragma a) (AnnList StringNode a) (AnnList StringNode a)
- importSpec :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportSpec a) (AnnMaybe ImportSpec a)
- importSource :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportSource a) (AnnMaybe ImportSource a)
- importSafe :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportSafe a) (AnnMaybe ImportSafe a)
- importQualified :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportQualified a) (AnnMaybe ImportQualified a)
- importPkg :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe StringNode a) (AnnMaybe StringNode a)
- importModule :: forall a. Lens (ImportDecl a) (ImportDecl a) (Ann SimpleName a) (Ann SimpleName a)
- importAs :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportRenaming a) (AnnMaybe ImportRenaming a)
- importSpecList :: forall a. Partial (ImportSpec a) (ImportSpec a) (AnnList IESpec a) (AnnList IESpec a)
- importSpecHiding :: forall a. Partial (ImportSpec a) (ImportSpec a) (AnnList IESpec a) (AnnList IESpec a)
- importRename :: forall a a'. Lens (ImportRenaming a) (ImportRenaming a') (Ann SimpleName a) (Ann SimpleName a')
- declValBind :: forall a. Partial (Decl a) (Decl a) (Ann ValueBind a) (Ann ValueBind a)
- declTypes :: forall a. Partial (Decl a) (Decl a) (AnnList Type a) (AnnList Type a)
- declTypeSig :: forall a. Partial (Decl a) (Decl a) (Ann TypeSignature a) (Ann TypeSignature a)
- declTypeFamily :: forall a. Partial (Decl a) (Decl a) (Ann TypeFamily a) (Ann TypeFamily a)
- declType :: forall a. Partial (Decl a) (Decl a) (Ann Type a) (Ann Type a)
- declSplice :: forall a. Partial (Decl a) (Decl a) (Ann Splice a) (Ann Splice a)
- declSafety :: forall a. Partial (Decl a) (Decl a) (AnnMaybe Safety a) (AnnMaybe Safety a)
- declRoles :: forall a. Partial (Decl a) (Decl a) (AnnList Role a) (AnnList Role a)
- declRoleType :: forall a. Partial (Decl a) (Decl a) (Ann SimpleName a) (Ann SimpleName a)
- declPragma :: forall a. Partial (Decl a) (Decl a) (Ann TopLevelPragma a) (Ann TopLevelPragma a)
- declPatTypeSig :: forall a. Partial (Decl a) (Decl a) (Ann PatternTypeSignature a) (Ann PatternTypeSignature a)
- declPatSyn :: forall a. Partial (Decl a) (Decl a) (Ann PatternSynonym a) (Ann PatternSynonym a)
- declOverlap :: forall a. Partial (Decl a) (Decl a) (AnnMaybe OverlapPragma a) (AnnMaybe OverlapPragma a)
- declNewtype :: forall a. Partial (Decl a) (Decl a) (Ann DataOrNewtypeKeyword a) (Ann DataOrNewtypeKeyword a)
- declName :: forall a. Partial (Decl a) (Decl a) (Ann Name a) (Ann Name a)
- declKind :: forall a. Partial (Decl a) (Decl a) (AnnMaybe KindConstraint a) (AnnMaybe KindConstraint a)
- declInstance :: forall a. Partial (Decl a) (Decl a) (Ann InstanceRule a) (Ann InstanceRule a)
- declInstRule :: forall a. Partial (Decl a) (Decl a) (Ann InstanceRule a) (Ann InstanceRule a)
- declInstDecl :: forall a. Partial (Decl a) (Decl a) (AnnMaybe InstBody a) (AnnMaybe InstBody a)
- declHead :: forall a. Partial (Decl a) (Decl a) (Ann DeclHead a) (Ann DeclHead a)
- declGadt :: forall a. Partial (Decl a) (Decl a) (AnnList GadtConDecl a) (AnnList GadtConDecl a)
- declFunDeps :: forall a. Partial (Decl a) (Decl a) (AnnMaybe FunDeps a) (AnnMaybe FunDeps a)
- declFixity :: forall a. Partial (Decl a) (Decl a) (Ann FixitySignature a) (Ann FixitySignature a)
- declDeriving :: forall a. Partial (Decl a) (Decl a) (AnnMaybe Deriving a) (AnnMaybe Deriving a)
- declDecl :: forall a. Partial (Decl a) (Decl a) (AnnList TypeEqn a) (AnnList TypeEqn a)
- declCtx :: forall a. Partial (Decl a) (Decl a) (AnnMaybe Context a) (AnnMaybe Context a)
- declCons :: forall a. Partial (Decl a) (Decl a) (AnnList ConDecl a) (AnnList ConDecl a)
- declCallConv :: forall a. Partial (Decl a) (Decl a) (Ann CallConv a) (Ann CallConv a)
- declBody :: forall a. Partial (Decl a) (Decl a) (AnnMaybe ClassBody a) (AnnMaybe ClassBody a)
- declAssignedType :: forall a. Partial (Decl a) (Decl a) (Ann Type a) (Ann Type a)
- cbElements :: forall a a'. Lens (ClassBody a) (ClassBody a') (AnnList ClassElement a) (AnnList ClassElement a')
- pragmaFormula :: forall a. Partial (ClassElement a) (ClassElement a) (Ann MinimalFormula a) (Ann MinimalFormula a)
- ceTypeSig :: forall a. Partial (ClassElement a) (ClassElement a) (Ann TypeSignature a) (Ann TypeSignature a)
- ceTypeFam :: forall a. Partial (ClassElement a) (ClassElement a) (Ann TypeFamily a) (Ann TypeFamily a)
- ceType :: forall a. Partial (ClassElement a) (ClassElement a) (Ann Type a) (Ann Type a)
- cePatSig :: forall a. Partial (ClassElement a) (ClassElement a) (Ann PatternTypeSignature a) (Ann PatternTypeSignature a)
- ceName :: forall a. Partial (ClassElement a) (ClassElement a) (Ann Name a) (Ann Name a)
- ceKind :: forall a. Partial (ClassElement a) (ClassElement a) (Ann Type a) (Ann Type a)
- ceHead :: forall a. Partial (ClassElement a) (ClassElement a) (Ann DeclHead a) (Ann DeclHead a)
- ceBind :: forall a. Partial (ClassElement a) (ClassElement a) (Ann ValueBind a) (Ann ValueBind a)
- dhRight :: forall a. Partial (DeclHead a) (DeclHead a) (Ann TyVar a) (Ann TyVar a)
- dhOperator :: forall a. Partial (DeclHead a) (DeclHead a) (Ann Operator a) (Ann Operator a)
- dhName :: forall a. Partial (DeclHead a) (DeclHead a) (Ann Name a) (Ann Name a)
- dhLeft :: forall a. Partial (DeclHead a) (DeclHead a) (Ann TyVar a) (Ann TyVar a)
- dhBody :: forall a. Partial (DeclHead a) (DeclHead a) (Ann DeclHead a) (Ann DeclHead a)
- dhAppOperand :: forall a. Partial (DeclHead a) (DeclHead a) (Ann TyVar a) (Ann TyVar a)
- dhAppFun :: forall a. Partial (DeclHead a) (DeclHead a) (Ann DeclHead a) (Ann DeclHead a)
- instBodyDecls :: forall a a'. Lens (InstBody a) (InstBody a') (AnnList InstBodyDecl a) (AnnList InstBodyDecl a')
- specializeInstanceType :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann Type a) (Ann Type a)
- instBodyTypeSig :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann TypeSignature a) (Ann TypeSignature a)
- instBodyTypeEqn :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann TypeEqn a) (Ann TypeEqn a)
- instBodyPatSyn :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann PatternSynonym a) (Ann PatternSynonym a)
- instBodyLhsType :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann InstanceRule a) (Ann InstanceRule a)
- instBodyGadtCons :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnList GadtConDecl a) (AnnList GadtConDecl a)
- instBodyDerivings :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnMaybe Deriving a) (AnnMaybe Deriving a)
- instBodyDeclFunbind :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann ValueBind a) (Ann ValueBind a)
- instBodyDataNew :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann DataOrNewtypeKeyword a) (Ann DataOrNewtypeKeyword a)
- instBodyDataKind :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnMaybe Kind a) (AnnMaybe Kind a)
- instBodyDataCons :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnList ConDecl a) (AnnList ConDecl a)
- gadtConType :: forall a. Lens (GadtConDecl a) (GadtConDecl a) (Ann GadtConType a) (Ann GadtConType a)
- gadtConNames :: forall a. Lens (GadtConDecl a) (GadtConDecl a) (AnnList Name a) (AnnList Name a)
- gadtConResultType :: forall a. Partial (GadtConType a) (GadtConType a) (Ann Type a) (Ann Type a)
- gadtConRecordFields :: forall a. Partial (GadtConType a) (GadtConType a) (AnnList FieldDecl a) (AnnList FieldDecl a)
- gadtConNormalType :: forall a. Partial (GadtConType a) (GadtConType a) (Ann Type a) (Ann Type a)
- gadtFieldName :: forall a. Partial (GadtField a) (GadtField a) (Ann Name a) (Ann Name a)
- gadtFieldType :: forall a. Lens (GadtField a) (GadtField a) (Ann Type a) (Ann Type a)
- funDeps :: forall a a'. Lens (FunDeps a) (FunDeps a') (AnnList FunDep a) (AnnList FunDep a')
- funDepRhs :: forall a. Lens (FunDep a) (FunDep a) (AnnList Name a) (AnnList Name a)
- funDepLhs :: forall a. Lens (FunDep a) (FunDep a) (AnnList Name a) (AnnList Name a)
- conDeclRhs :: forall a. Partial (ConDecl a) (ConDecl a) (Ann Type a) (Ann Type a)
- conDeclOp :: forall a. Partial (ConDecl a) (ConDecl a) (Ann Operator a) (Ann Operator a)
- conDeclName :: forall a. Partial (ConDecl a) (ConDecl a) (Ann Name a) (Ann Name a)
- conDeclLhs :: forall a. Partial (ConDecl a) (ConDecl a) (Ann Type a) (Ann Type a)
- conDeclFields :: forall a. Partial (ConDecl a) (ConDecl a) (AnnList FieldDecl a) (AnnList FieldDecl a)
- conDeclArgs :: forall a. Partial (ConDecl a) (ConDecl a) (AnnList Type a) (AnnList Type a)
- fieldType :: forall a. Lens (FieldDecl a) (FieldDecl a) (Ann Type a) (Ann Type a)
- fieldNames :: forall a. Lens (FieldDecl a) (FieldDecl a) (AnnList Name a) (AnnList Name a)
- oneDerived :: forall a. Partial (Deriving a) (Deriving a) (Ann InstanceHead a) (Ann InstanceHead a)
- allDerived :: forall a. Partial (Deriving a) (Deriving a) (AnnList InstanceHead a) (AnnList InstanceHead a)
- irVars :: forall a. Partial (InstanceRule a) (InstanceRule a) (AnnMaybe (AnnList TyVar) a) (AnnMaybe (AnnList TyVar) a)
- irRule :: forall a. Partial (InstanceRule a) (InstanceRule a) (Ann InstanceRule a) (Ann InstanceRule a)
- irHead :: forall a. Partial (InstanceRule a) (InstanceRule a) (Ann InstanceHead a) (Ann InstanceHead a)
- irCtx :: forall a. Partial (InstanceRule a) (InstanceRule a) (AnnMaybe Context a) (AnnMaybe Context a)
- ihType :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Type a) (Ann Type a)
- ihOperator :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Name a) (Ann Name a)
- ihLeftOp :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Type a) (Ann Type a)
- ihHead :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann InstanceHead a) (Ann InstanceHead a)
- ihFun :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann InstanceHead a) (Ann InstanceHead a)
- ihConName :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Name a) (Ann Name a)
- teRhs :: forall a. Lens (TypeEqn a) (TypeEqn a) (Ann Type a) (Ann Type a)
- teLhs :: forall a. Lens (TypeEqn a) (TypeEqn a) (Ann Type a) (Ann Type a)
- kindConstr :: forall a a'. Lens (KindConstraint a) (KindConstraint a') (Ann Kind a) (Ann Kind a')
- tyVarName :: forall a. Lens (TyVar a) (TyVar a) (Ann Name a) (Ann Name a)
- tyVarKind :: forall a. Lens (TyVar a) (TyVar a) (AnnMaybe KindConstraint a) (AnnMaybe KindConstraint a)
- typeWildcardName :: forall a. Partial (Type a) (Type a) (Ann Name a) (Ann Name a)
- typeType :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeRight :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeResult :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeQQ :: forall a. Partial (Type a) (Type a) (QuasiQuote a) (QuasiQuote a)
- typeParam :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeOperator :: forall a. Partial (Type a) (Type a) (Ann Operator a) (Ann Operator a)
- typeName :: forall a. Partial (Type a) (Type a) (Ann Name a) (Ann Name a)
- typeLeft :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeKind :: forall a. Partial (Type a) (Type a) (Ann Kind a) (Ann Kind a)
- typeInner :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeElements :: forall a. Partial (Type a) (Type a) (AnnList Type a) (AnnList Type a)
- typeElement :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeCtx :: forall a. Partial (Type a) (Type a) (Ann Context a) (Ann Context a)
- typeCon :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- typeBounded :: forall a. Partial (Type a) (Type a) (AnnList TyVar a) (AnnList TyVar a)
- typeArg :: forall a. Partial (Type a) (Type a) (Ann Type a) (Ann Type a)
- tsSplice :: forall a. Partial (Type a) (Type a) (Splice a) (Splice a)
- tpPromoted :: forall a. Partial (Type a) (Type a) (Ann (Promoted Type) a) (Ann (Promoted Type) a)
- kindVar :: forall a. Partial (Kind a) (Kind a) (Ann Name a) (Ann Name a)
- kindRight :: forall a. Partial (Kind a) (Kind a) (Ann Kind a) (Ann Kind a)
- kindPromoted :: forall a. Partial (Kind a) (Kind a) (Ann (Promoted Kind) a) (Ann (Promoted Kind) a)
- kindParen :: forall a. Partial (Kind a) (Kind a) (Ann Kind a) (Ann Kind a)
- kindLeft :: forall a. Partial (Kind a) (Kind a) (Ann Kind a) (Ann Kind a)
- kindElem :: forall a. Partial (Kind a) (Kind a) (Ann Kind a) (Ann Kind a)
- kindAppFun :: forall a. Partial (Kind a) (Kind a) (Ann Kind a) (Ann Kind a)
- kindAppArg :: forall a. Partial (Kind a) (Kind a) (Ann Kind a) (Ann Kind a)
- contextAssertions :: forall a. Partial (Context a) (Context a) (AnnList Assertion a) (AnnList Assertion a)
- contextAssertion :: forall a. Partial (Context a) (Context a) (Ann Assertion a) (Ann Assertion a)
- assertTypes :: forall a. Partial (Assertion a) (Assertion a) (AnnList Type a) (AnnList Type a)
- assertRhs :: forall a. Partial (Assertion a) (Assertion a) (Ann Type a) (Ann Type a)
- assertOp :: forall a. Partial (Assertion a) (Assertion a) (Ann Operator a) (Ann Operator a)
- assertLhs :: forall a. Partial (Assertion a) (Assertion a) (Ann Type a) (Ann Type a)
- assertClsName :: forall a. Partial (Assertion a) (Assertion a) (Ann Name a) (Ann Name a)
- tupleSectionElems :: forall a. Partial (Expr a) (Expr a) (AnnList TupSecElem a) (AnnList TupSecElem a)
- tupleElems :: forall a. Partial (Expr a) (Expr a) (AnnList Expr a) (AnnList Expr a)
- quotedName :: forall a. Partial (Expr a) (Expr a) (Ann Name a) (Ann Name a)
- procPattern :: forall a. Partial (Expr a) (Expr a) (Ann Pattern a) (Ann Pattern a)
- procExpr :: forall a. Partial (Expr a) (Expr a) (Ann Cmd a) (Ann Cmd a)
- listElems :: forall a. Partial (Expr a) (Expr a) (AnnList Expr a) (AnnList Expr a)
- innerExpr :: forall a. Partial (Expr a) (Expr a) (Ann Splice a) (Ann Splice a)
- exprType :: forall a. Partial (Expr a) (Expr a) (Ann Type a) (Ann Type a)
- exprThen :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprStmts :: forall a. Partial (Expr a) (Expr a) (AnnList Stmt a) (AnnList Stmt a)
- exprSig :: forall a. Partial (Expr a) (Expr a) (Ann Type a) (Ann Type a)
- exprRhs :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprRecName :: forall a. Partial (Expr a) (Expr a) (Ann Name a) (Ann Name a)
- exprRecFields :: forall a. Partial (Expr a) (Expr a) (AnnList FieldUpdate a) (AnnList FieldUpdate a)
- exprQQ :: forall a. Partial (Expr a) (Expr a) (Ann QuasiQuote a) (Ann QuasiQuote a)
- exprPragma :: forall a. Partial (Expr a) (Expr a) (Ann ExprPragma a) (Ann ExprPragma a)
- exprOperator :: forall a. Partial (Expr a) (Expr a) (Ann Operator a) (Ann Operator a)
- exprName :: forall a. Partial (Expr a) (Expr a) (Ann Name a) (Ann Name a)
- exprLit :: forall a. Partial (Expr a) (Expr a) (Ann Literal a) (Ann Literal a)
- exprLhs :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprInner :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprIfAlts :: forall a. Partial (Expr a) (Expr a) (AnnList GuardedCaseRhs a) (AnnList GuardedCaseRhs a)
- exprFunBind :: forall a. Partial (Expr a) (Expr a) (AnnList LocalBind a) (AnnList LocalBind a)
- exprFun :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprElse :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprCond :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprCase :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprBindings :: forall a. Partial (Expr a) (Expr a) (AnnList Pattern a) (AnnList Pattern a)
- exprArg :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- exprAlts :: forall a. Partial (Expr a) (Expr a) (AnnList Alt a) (AnnList Alt a)
- enumToFix :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- enumTo :: forall a. Partial (Expr a) (Expr a) (AnnMaybe Expr a) (AnnMaybe Expr a)
- enumThen :: forall a. Partial (Expr a) (Expr a) (AnnMaybe Expr a) (AnnMaybe Expr a)
- enumFrom :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- doKind :: forall a. Partial (Expr a) (Expr a) (Ann DoKind a) (Ann DoKind a)
- compExpr :: forall a. Partial (Expr a) (Expr a) (Ann Expr a) (Ann Expr a)
- compBody :: forall a. Partial (Expr a) (Expr a) (AnnList ListCompBody a) (AnnList ListCompBody a)
- bracket :: forall a. Partial (Expr a) (Expr a) (Ann Bracket a) (Ann Bracket a)
- arrowAppl :: forall a. Partial (Expr a) (Expr a) (Ann ArrowAppl a) (Ann ArrowAppl a)
- stmtPattern :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (Ann Pattern a) (Ann Pattern a)
- stmtExpr :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (Ann expr a) (Ann expr a)
- stmtBinds :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (AnnList LocalBind a) (AnnList LocalBind a)
- cmdStmtBinds :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (AnnList (Stmt' expr) a) (AnnList (Stmt' expr) a)
- usingExpr :: forall a. Partial (CompStmt a) (CompStmt a) (AnnMaybe Expr a) (AnnMaybe Expr a)
- thenExpr :: forall a. Partial (CompStmt a) (CompStmt a) (Ann Expr a) (Ann Expr a)
- compStmt :: forall a. Partial (CompStmt a) (CompStmt a) (Ann Stmt a) (Ann Stmt a)
- byExpr :: forall a. Partial (CompStmt a) (CompStmt a) (AnnMaybe Expr a) (AnnMaybe Expr a)
- valBindRhs :: forall a. Partial (ValueBind a) (ValueBind a) (Ann Rhs a) (Ann Rhs a)
- valBindPat :: forall a. Partial (ValueBind a) (ValueBind a) (Ann Pattern a) (Ann Pattern a)
- valBindLocals :: forall a. Partial (ValueBind a) (ValueBind a) (AnnMaybe LocalBinds a) (AnnMaybe LocalBinds a)
- funBindMatches :: forall a. Partial (ValueBind a) (ValueBind a) (AnnList Match a) (AnnList Match a)
- patternType :: forall a. Partial (Pattern a) (Pattern a) (Ann Type a) (Ann Type a)
- patternSplice :: forall a. Partial (Pattern a) (Pattern a) (Ann Splice a) (Ann Splice a)
- patternRhs :: forall a. Partial (Pattern a) (Pattern a) (Ann Pattern a) (Ann Pattern a)
- patternOperator :: forall a. Partial (Pattern a) (Pattern a) (Ann Operator a) (Ann Operator a)
- patternName :: forall a. Partial (Pattern a) (Pattern a) (Ann Name a) (Ann Name a)
- patternLiteral :: forall a. Partial (Pattern a) (Pattern a) (Ann Literal a) (Ann Literal a)
- patternLit :: forall a. Partial (Pattern a) (Pattern a) (Ann Literal a) (Ann Literal a)
- patternLhs :: forall a. Partial (Pattern a) (Pattern a) (Ann Pattern a) (Ann Pattern a)
- patternInner :: forall a. Partial (Pattern a) (Pattern a) (Ann Pattern a) (Ann Pattern a)
- patternFields :: forall a. Partial (Pattern a) (Pattern a) (AnnList PatternField a) (AnnList PatternField a)
- patternExpr :: forall a. Partial (Pattern a) (Pattern a) (Ann Expr a) (Ann Expr a)
- patternElems :: forall a. Partial (Pattern a) (Pattern a) (AnnList Pattern a) (AnnList Pattern a)
- patternArgs :: forall a. Partial (Pattern a) (Pattern a) (AnnList Pattern a) (AnnList Pattern a)
- patQQ :: forall a. Partial (Pattern a) (Pattern a) (Ann QuasiQuote a) (Ann QuasiQuote a)
- fieldPatternName :: forall a. Partial (PatternField a) (PatternField a) (Ann Name a) (Ann Name a)
- fieldPattern :: forall a. Partial (PatternField a) (PatternField a) (Ann Pattern a) (Ann Pattern a)
- spliceId :: forall a. Partial (Splice a) (Splice a) (Ann Name a) (Ann Name a)
- spliceExpr :: forall a. Partial (Splice a) (Splice a) (Ann Expr a) (Ann Expr a)
- qqString :: forall a. Lens (QQString a) (QQString a) String String
- matchRhs :: forall a. Lens (Match a) (Match a) (Ann Rhs a) (Ann Rhs a)
- matchLhs :: forall a. Lens (Match a) (Match a) (Ann MatchLhs a) (Ann MatchLhs a)
- matchBinds :: forall a. Lens (Match a) (Match a) (AnnMaybe LocalBinds a) (AnnMaybe LocalBinds a)
- altRhs :: forall expr a expr'. Lens (Alt' expr a) (Alt' expr' a) (Ann (CaseRhs' expr) a) (Ann (CaseRhs' expr') a)
- altPattern :: forall expr a. Lens (Alt' expr a) (Alt' expr a) (Ann Pattern a) (Ann Pattern a)
- altBinds :: forall expr a. Lens (Alt' expr a) (Alt' expr a) (AnnMaybe LocalBinds a) (AnnMaybe LocalBinds a)
- rhsGuards :: forall a. Partial (Rhs a) (Rhs a) (AnnList GuardedRhs a) (AnnList GuardedRhs a)
- rhsExpr :: forall a. Partial (Rhs a) (Rhs a) (Ann Expr a) (Ann Expr a)
- guardStmts :: forall a. Lens (GuardedRhs a) (GuardedRhs a) (AnnList RhsGuard a) (AnnList RhsGuard a)
- guardExpr :: forall a. Lens (GuardedRhs a) (GuardedRhs a) (Ann Expr a) (Ann Expr a)
- fieldValue :: forall a. Partial (FieldUpdate a) (FieldUpdate a) (Ann Expr a) (Ann Expr a)
- fieldUpdateName :: forall a. Partial (FieldUpdate a) (FieldUpdate a) (Ann Name a) (Ann Name a)
- fieldName :: forall a. Partial (FieldUpdate a) (FieldUpdate a) (Ann Name a) (Ann Name a)
- bracketType :: forall a. Partial (Bracket a) (Bracket a) (Ann Type a) (Ann Type a)
- bracketPattern :: forall a. Partial (Bracket a) (Bracket a) (Ann Pattern a) (Ann Pattern a)
- bracketExpr :: forall a. Partial (Bracket a) (Bracket a) (Ann Expr a) (Ann Expr a)
- bracketDecl :: forall a. Partial (Bracket a) (Bracket a) (AnnList Decl a) (AnnList Decl a)
- specializeType :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnList Type a) (AnnList Type a)
- specializeDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a)
- pragmaRule :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnList Rule a) (AnnList Rule a)
- pragmaPhase :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnMaybe PhaseControl a) (AnnMaybe PhaseControl a)
- pragmaObjects :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnList Name a) (AnnList Name a)
- pragmaMessage :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann StringNode a) (Ann StringNode a)
- pragmaLineNum :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann LineNumber a) (Ann LineNumber a)
- pragmaFileName :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnMaybe StringNode a) (AnnMaybe StringNode a)
- pragmaConlike :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnMaybe ConlikeAnnot a) (AnnMaybe ConlikeAnnot a)
- noInlineDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a)
- inlineDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a)
- inlinableDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a)
- annotationSubject :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann AnnotationSubject a) (Ann AnnotationSubject a)
- annotateExpr :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Expr a) (Ann Expr a)
- ruleRhs :: forall a. Lens (Rule a) (Rule a) (Ann Expr a) (Ann Expr a)
- rulePhase :: forall a. Lens (Rule a) (Rule a) (AnnMaybe PhaseControl a) (AnnMaybe PhaseControl a)
- ruleName :: forall a. Lens (Rule a) (Rule a) (Ann StringNode a) (Ann StringNode a)
- ruleLhs :: forall a. Lens (Rule a) (Rule a) (Ann Expr a) (Ann Expr a)
- ruleBounded :: forall a. Lens (Rule a) (Rule a) (AnnList TyVar a) (AnnList TyVar a)
- annotateName :: forall a a'. Partial (AnnotationSubject a) (AnnotationSubject a') (Ann Name a) (Ann Name a')
- minimalOrs :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (AnnList MinimalFormula a) (AnnList MinimalFormula a)
- minimalName :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (Ann Name a) (Ann Name a)
- minimalInner :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (Ann MinimalFormula a) (Ann MinimalFormula a)
- minimalAnds :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (AnnList MinimalFormula a) (AnnList MinimalFormula a)
- pragmaStr :: forall a. Partial (ExprPragma a) (ExprPragma a) (Ann StringNode a) (Ann StringNode a)
- pragmaSrcRange :: forall a. Partial (ExprPragma a) (ExprPragma a) (Ann SourceRange a) (Ann SourceRange a)
- srToLine :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a)
- srToCol :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a)
- srFromLine :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a)
- srFromCol :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a)
- srFileName :: forall a. Lens (SourceRange a) (SourceRange a) (Ann StringNode a) (Ann StringNode a)
- numberInteger :: forall a. Lens (Number a) (Number a) Integer Integer
- qqExprName :: forall a. Lens (QuasiQuote a) (QuasiQuote a) (Ann Name a) (Ann Name a)
- qqExprBody :: forall a. Lens (QuasiQuote a) (QuasiQuote a) (Ann QQString a) (Ann QQString a)
- guardRhs :: forall a. Partial (RhsGuard a) (RhsGuard a) (Ann Expr a) (Ann Expr a)
- guardPat :: forall a. Partial (RhsGuard a) (RhsGuard a) (Ann Pattern a) (Ann Pattern a)
- guardCheck :: forall a. Partial (RhsGuard a) (RhsGuard a) (Ann Expr a) (Ann Expr a)
- guardBinds :: forall a. Partial (RhsGuard a) (RhsGuard a) (AnnList LocalBind a) (AnnList LocalBind a)
- localVal :: forall a. Partial (LocalBind a) (LocalBind a) (Ann ValueBind a) (Ann ValueBind a)
- localSig :: forall a. Partial (LocalBind a) (LocalBind a) (Ann TypeSignature a) (Ann TypeSignature a)
- localFixity :: forall a. Partial (LocalBind a) (LocalBind a) (Ann FixitySignature a) (Ann FixitySignature a)
- localBinds :: forall a a'. Lens (LocalBinds a) (LocalBinds a') (AnnList LocalBind a) (AnnList LocalBind a')
- fixityPrecedence :: forall a. Lens (FixitySignature a) (FixitySignature a) (Ann Precedence a) (Ann Precedence a)
- fixityOperators :: forall a. Lens (FixitySignature a) (FixitySignature a) (AnnList Operator a) (AnnList Operator a)
- fixityAssoc :: forall a. Lens (FixitySignature a) (FixitySignature a) (Ann Assoc a) (Ann Assoc a)
- tsType :: forall a. Lens (TypeSignature a) (TypeSignature a) (Ann Type a) (Ann Type a)
- tsName :: forall a. Lens (TypeSignature a) (TypeSignature a) (AnnList Name a) (AnnList Name a)
- compStmts :: forall a a'. Lens (ListCompBody a) (ListCompBody a') (AnnList CompStmt a) (AnnList CompStmt a')
- tupSecExpr :: forall a a'. Partial (TupSecElem a) (TupSecElem a') (Ann Expr a) (Ann Expr a')
- tfSpec :: forall a. Partial (TypeFamily a) (TypeFamily a) (AnnMaybe TypeFamilySpec a) (AnnMaybe TypeFamilySpec a)
- tfKind :: forall a. Partial (TypeFamily a) (TypeFamily a) (AnnMaybe KindConstraint a) (AnnMaybe KindConstraint a)
- tfHead :: forall a. Lens (TypeFamily a) (TypeFamily a) (Ann DeclHead a) (Ann DeclHead a)
- tfSpecKind :: forall a. Partial (TypeFamilySpec a) (TypeFamilySpec a) (Ann KindConstraint a) (Ann KindConstraint a)
- tfInjectivity :: forall a. Partial (TypeFamilySpec a) (TypeFamilySpec a) (Ann InjectivityAnn a) (Ann InjectivityAnn a)
- injAnnRes :: forall a. Lens (InjectivityAnn a) (InjectivityAnn a) (Ann Name a) (Ann Name a)
- injAnnDeps :: forall a. Lens (InjectivityAnn a) (InjectivityAnn a) (AnnList Name a) (AnnList Name a)
- rhsCaseGuards :: forall expr a. Partial (CaseRhs' expr a) (CaseRhs' expr a) (AnnList (GuardedCaseRhs' expr) a) (AnnList (GuardedCaseRhs' expr) a)
- rhsCaseExpr :: forall expr a. Partial (CaseRhs' expr a) (CaseRhs' expr a) (Ann expr a) (Ann expr a)
- caseGuardStmts :: forall expr a. Lens (GuardedCaseRhs' expr a) (GuardedCaseRhs' expr a) (AnnList RhsGuard a) (AnnList RhsGuard a)
- caseGuardExpr :: forall expr a expr'. Lens (GuardedCaseRhs' expr a) (GuardedCaseRhs' expr' a) (Ann expr a) (Ann expr' a)
- patRhs :: forall a. Lens (PatternSynonym a) (PatternSynonym a) (Ann PatSynRhs a) (Ann PatSynRhs a)
- patLhs :: forall a. Lens (PatternSynonym a) (PatternSynonym a) (Ann PatSynLhs a) (Ann PatSynLhs a)
- patRhsOpposite :: forall a. Partial (PatSynRhs a) (PatSynRhs a) (AnnMaybe PatSynWhere a) (AnnMaybe PatSynWhere a)
- patRhsPat :: forall a. Lens (PatSynRhs a) (PatSynRhs a) (Ann Pattern a) (Ann Pattern a)
- patSynRhs :: forall a. Partial (PatSynLhs a) (PatSynLhs a) (Ann Name a) (Ann Name a)
- patSynOp :: forall a. Partial (PatSynLhs a) (PatSynLhs a) (Ann Operator a) (Ann Operator a)
- patSynLhs :: forall a. Partial (PatSynLhs a) (PatSynLhs a) (Ann Name a) (Ann Name a)
- patName :: forall a. Partial (PatSynLhs a) (PatSynLhs a) (Ann Name a) (Ann Name a)
- patArgs :: forall a. Partial (PatSynLhs a) (PatSynLhs a) (AnnList Name a) (AnnList Name a)
- patOpposite :: forall a a'. Lens (PatSynWhere a) (PatSynWhere a') (AnnList Match a) (AnnList Match a')
- patSigType :: forall a. Lens (PatternTypeSignature a) (PatternTypeSignature a) (Ann Type a) (Ann Type a)
- patSigName :: forall a. Lens (PatternTypeSignature a) (PatternTypeSignature a) (Ann Name a) (Ann Name a)
- langExt :: forall a. Lens (LanguageExtension a) (LanguageExtension a) String String
- matchLhsRhs :: forall a. Partial (MatchLhs a) (MatchLhs a) (Ann Pattern a) (Ann Pattern a)
- matchLhsOperator :: forall a. Partial (MatchLhs a) (MatchLhs a) (Ann Operator a) (Ann Operator a)
- matchLhsName :: forall a. Partial (MatchLhs a) (MatchLhs a) (Ann Name a) (Ann Name a)
- matchLhsLhs :: forall a. Partial (MatchLhs a) (MatchLhs a) (Ann Pattern a) (Ann Pattern a)
- matchLhsArgs :: forall a. Lens (MatchLhs a) (MatchLhs a) (AnnList Pattern a) (AnnList Pattern a)
- stringLitValue :: forall a. Partial (Literal a) (Literal a) String String
- intLitValue :: forall a. Partial (Literal a) (Literal a) Integer Integer
- fracLitValue :: forall a. Partial (Literal a) (Literal a) Rational Rational
- floatLitValue :: forall a. Partial (Literal a) (Literal a) Rational Rational
- charLitValue :: forall a. Partial (Literal a) (Literal a) Char Char
- promotedStringValue :: forall t a. Partial (Promoted t a) (Promoted t a) String String
- promotedIntValue :: forall t a. Partial (Promoted t a) (Promoted t a) Integer Integer
- promotedElements :: forall t a t'. Partial (Promoted t a) (Promoted t' a) (AnnList t a) (AnnList t' a)
- promotedConName :: forall t a. Partial (Promoted t a) (Promoted t a) (Ann Name a) (Ann Name a)
- operatorName :: forall a a'. Lens (Operator a) (Operator a') (Ann SimpleName a) (Ann SimpleName a')
- simpleName :: forall a a'. Lens (Name a) (Name a') (Ann SimpleName a) (Ann SimpleName a')
- unqualifiedName :: forall a. Lens (SimpleName a) (SimpleName a) (Ann UnqualName a) (Ann UnqualName a)
- qualifiers :: forall a. Lens (SimpleName a) (SimpleName a) (AnnList UnqualName a) (AnnList UnqualName a)
- simpleNameStr :: forall a. Lens (UnqualName a) (UnqualName a) String String
- stringNodeStr :: forall a. Lens (StringNode a) (StringNode a) String String
- precedenceValue :: forall a. Lens (Precedence a) (Precedence a) Int Int
- phaseUntil :: forall a. Lens (PhaseControl a) (PhaseControl a) (AnnMaybe PhaseInvert a) (AnnMaybe PhaseInvert a)
- phaseNumber :: forall a. Lens (PhaseControl a) (PhaseControl a) (Ann PhaseNumber a) (Ann PhaseNumber a)
- phaseNum :: forall a. Lens (PhaseNumber a) (PhaseNumber a) Integer Integer
- ordByOccurrence :: SimpleName a -> SimpleName a -> Ordering
- nameString :: SimpleName a -> String
- nameElements :: SimpleName a -> [String]
- nameQualifier :: SimpleName a -> [String]
- importIsExact :: ImportDecl a -> Bool
- importIsHiding :: ImportDecl a -> Bool
- importExacts :: Simple Traversal (ImportDecl a) (IESpec a)
- importHidings :: Simple Traversal (ImportDecl a) (IESpec a)
- importQualifiers :: ImportDecl a -> [[String]]
- bindingSemantics :: Simple Traversal (Ann ValueBind (NodeInfo (SemanticInfo n) s)) (SemanticInfo n)
- bindingName :: Simple Traversal (Ann ValueBind (NodeInfo (SemanticInfo n) s)) n
- declHeadNames :: Simple Traversal (Ann DeclHead a) (Ann SimpleName a)
- typeParams :: Simple Traversal (Ann Type a) (Ann Type a)
- semantics :: Simple Lens (Ann a (NodeInfo sema src)) sema
- dhNames :: Simple Traversal (Ann DeclHead (NodeInfo (SemanticInfo n) src)) n
- class BindingElem d where
- bindName :: BindingElem d => Simple Traversal (d (NodeInfo (SemanticInfo n) src)) n
- valBindsInList :: BindingElem d => Simple Traversal (AnnList d a) (Ann ValueBind a)
- getValBindInList :: (BindingElem d, HasRange a) => RealSrcSpan -> AnnList d a -> Maybe (Ann ValueBind a)
- nodesContaining :: forall node inner a. (Biplate (node a) (inner a), HasAnnot node, HasAnnot inner, HasRange a) => RealSrcSpan -> Simple Traversal (node a) (inner a)
- isInside :: (HasAnnot node, HasRange a) => RealSrcSpan -> node a -> Bool
- nodesWithRange :: forall node inner a. (Biplate (node a) (inner a), HasAnnot node, HasAnnot inner, HasRange a) => RealSrcSpan -> Simple Traversal (node a) (inner a)
- hasRange :: (HasAnnot node, HasRange a) => RealSrcSpan -> node a -> Bool
- getNodeContaining :: (Biplate (node a) (Ann inner a), HasAnnot node, HasRange a) => RealSrcSpan -> node a -> Maybe (Ann inner a)
- compareRangeLength :: SrcSpan -> SrcSpan -> Ordering
- getNode :: (Biplate (node a) (inner a), HasAnnot node, HasAnnot inner, HasRange a) => RealSrcSpan -> node a -> inner a
- ordSrcSpan :: SrcSpan -> OrdSrcSpan
- fromOrdSrcSpan :: OrdSrcSpan -> SrcSpan
- data OrdSrcSpan
Documentation
Module | |
|
data ModuleHead a Source #
Module declaration with name and (optional) exports
ModuleHead | |
|
type Rep (ModuleHead a) Source # | |
data ExportSpecList a Source #
A list of export specifications surrounded by parentheses
type Rep (ExportSpecList a) Source # | |
data ExportSpec a Source #
Export specifier
DeclExport | Export a name and related names |
| |
ModuleExport | The export of an imported module ( |
type Rep (ExportSpec a) Source # | |
Marks a name to be imported or exported with related names (subspecifier)
Marks how related names will be imported or exported with a given name
data FilePragma a Source #
Pragmas that must be used before defining the module
LanguagePragma | LANGUAGE pragma |
OptionsPragma | OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC |
|
type Rep (FilePragma a) Source # | |
data ModulePragma a Source #
Pragmas that must be used after the module head
ModuleWarningPragma | a warning pragma attached to the module |
ModuleDeprecatedPragma | a deprecated pragma attached to the module |
type Rep (ModulePragma a) Source # | |
data LanguageExtension a Source #
type Rep (LanguageExtension a) Source # | |
data ImportDecl a Source #
An import declaration: import Module.Name
type Rep (ImportDecl a) Source # | |
data ImportSpec a Source #
Restriction on the imported names
ImportSpecList | Restrict the import definition to ONLY import the listed names |
| |
ImportSpecHiding | Restrict the import definition to DONT import the listed names |
type Rep (ImportSpec a) Source # | |
data ImportQualified a Source #
Marks the import as qualified: qualified
type Rep (ImportQualified a) Source # | |
data ImportSource a Source #
type Rep (ImportSource a) Source # | |
data TypeNamespace a Source #
Marks an imported name to belong to the type namespace: type
type Rep (TypeNamespace a) Source # | |
A template haskell splice
IdSplice | A simple name splice: |
ParenSplice | A splice with parentheses: |
|
data QuasiQuote a Source #
Template haskell quasi-quotation: [quoter|str]
QuasiQuote | |
|
type Rep (QuasiQuote a) Source # | |
Template Haskell Quasi-quotation content
Template Haskell bracket expressions
ExprBracket | Expression bracket ( |
| |
PatternBracket | Pattern bracket ( |
| |
TypeBracket | Pattern bracket ( |
| |
DeclsBracket | Declaration bracket ( |
|
Haskell declaration
TypeDecl | A type synonym ( |
TypeFamilyDecl | |
| |
ClosedTypeFamilyDecl | A closed type family declaration |
DataDecl | A data or newtype declaration. Empty data type declarations without where keyword are always belong to DataDecl. |
| |
GDataDecl | A data or newtype declaration. |
| |
TypeInstDecl | Type instance declaration ( |
| |
DataInstDecl | Data instance declaration ( |
| |
GDataInstDecl | Gadt style data instance declaration ( |
| |
ClassDecl | Type class declaration ( |
InstDecl | Instance declaration ( |
| |
PatternSynonymDecl | Pattern synonyms ( |
| |
DerivDecl | Standalone deriving declaration ( |
FixityDecl | Fixity declaration ( |
DefaultDecl | Default types ( |
| |
TypeSigDecl | Type signature declaration ( |
| |
PatTypeSigDecl | Type signature declaration ( |
ValueBinding | Function binding ( |
| |
ForeignImport | Foreign import ( |
ForeignExport | foreign export ( |
PragmaDecl | top level pragmas |
| |
RoleDecl | role annotations ( |
| |
SpliceDecl | A Template Haskell splice declaration ( |
|
data TypeFamily a Source #
Open type and data families
TypeFamily | A type family declaration ( |
DataFamily | Data family declaration |
type Rep (TypeFamily a) Source # | |
data TypeFamilySpec a Source #
type Rep (TypeFamilySpec a) Source # | |
data InjectivityAnn a Source #
InjectivityAnn | |
|
type Rep (InjectivityAnn a) Source # | |
The list of declarations that can appear in a typeclass
data ClassElement a Source #
Members of a class declaration
ClsSig | Signature: |
| |
ClsDef | Default binding: |
ClsTypeFam | Declaration of an associated type synonym: |
| |
ClsTypeDef | Default choice for type synonym: |
ClsDefSig | Default signature (by using |
ClsMinimal | |
ClsPatSig | Pattern signature in a class declaration (by using |
type Rep (ClassElement a) Source # | |
Instance body is the implementation of the class functions ( where a x = 1; b x = 2
)
data InstBodyDecl a Source #
Declarations inside an instance declaration.
InstBodyNormalDecl | A normal declaration ( |
InstBodyTypeSig | Type signature in instance definition with |
InstBodyTypeDecl | An associated type definition ( |
| |
InstBodyDataDecl | An associated data type implementation ( |
InstBodyGadtDataDecl | An associated data type implemented using GADT style |
SpecializeInstance | Specialize instance pragma (no phase selection is allowed) not supported yet |
InstBodyPatSyn | A pattern synonym in a class instance |
type Rep (InstBodyDecl a) Source # | |
data GadtConDecl a Source #
GADT constructor declaration ( _D1 :: { _val :: Int } -> T String
)
GadtConDecl | |
|
type Rep (GadtConDecl a) Source # | |
data GadtConType a Source #
Type of GADT constructors (can be record types: { _val :: Int }
)
type Rep (GadtConType a) Source # | |
GadtNormalField | Normal GADT field type ( |
| |
GadtNamedField | Named GADT field ( |
|
A list of functional dependencies: | a -> b, c -> d
separated by commas
A functional dependency, given on the form l1 ... ln -> r1 ... rn
FunDep | |
|
ConDecl | ordinary data constructor ( |
| |
RecordDecl | record data constructor ( |
| |
InfixConDecl | infix data constructor ( |
|
Field declaration ( _fld :: Int
)
FieldDecl | |
|
A deriving clause following a data type declaration. ( deriving Show
or deriving (Show, Eq)
)
data InstanceRule a Source #
The instance declaration rule, which is, roughly, the part of the instance declaration before the where keyword.
type Rep (InstanceRule a) Source # | |
data InstanceHead a Source #
The specification of the class instance declaration
InstanceHeadCon | Type or class name |
| |
InstanceHeadInfix | Infix application of the type/class name to the left operand |
InstanceHeadParen | Parenthesized instance head |
| |
InstanceHeadApp | Application to one more type |
type Rep (InstanceHead a) Source # | |
Type equations as found in closed type families ( T A = S
)
data PatternTypeSignature a Source #
A pattern type signature ( pattern p :: Int -> T
)
PatternTypeSignature | |
|
type Rep (PatternTypeSignature a) Source # | |
data PatternSynonym a Source #
Pattern synonyms: pattern Arrow t1 t2 = App "->" [t1, t2]
type Rep (PatternSynonym a) Source # | |
Left hand side of a pattern synonym
NormalPatSyn | |
InfixPatSyn | |
| |
RecordPatSyn | |
Right-hand side of pattern synonym
BidirectionalPatSyn |
|
| |
OneDirectionalPatSyn | pattern Int <- App Int [] |
|
data PatSynWhere a Source #
Where clause of pattern synonym (explicit expression direction)
type Rep (PatSynWhere a) Source # | |
Value binding for top-level and local bindings
SimpleBind | Non-function binding ( |
| |
FunBind | Function binding ( |
|
Clause of function (or value) binding
Match | |
|
Something on the left side of the match
NormalLhs | |
| |
InfixLhs | |
|
data LocalBinds a Source #
Local bindings attached to a declaration ( where x = 42
)
type Rep (LocalBinds a) Source # | |
Bindings that are enabled in local blocks (where or let).
data TypeSignature a Source #
A type signature ( _f :: Int -> Int
)
type Rep (TypeSignature a) Source # | |
data FixitySignature a Source #
A fixity signature ( infixl 5 +, -
).
FixitySignature | |
|
type Rep (FixitySignature a) Source # | |
Right hand side of a value binding (possible with guards): ( = 3
or | x == 1 = 3; | otherwise = 4
)
data GuardedRhs a Source #
A guarded right-hand side of a value binding ( | x > 3 = 2
)
GuardedRhs | |
|
type Rep (GuardedRhs a) Source # | |
Guards for value bindings and pattern matches ( Just v x, v 1
)
GuardBind | |
GuardLet | |
| |
GuardCheck | |
|
Pragmas
data TopLevelPragma a Source #
Top level pragmas
RulePragma | |
| |
DeprPragma | |
| |
WarningPragma | |
| |
AnnPragma | |
| |
InlinePragma | |
| |
NoInlinePragma | |
| |
InlinablePragma | |
| |
LinePragma | |
| |
SpecializePragma | |
|
type Rep (TopLevelPragma a) Source # | |
A rewrite rule ( "map/map" forall f g xs. map f (map g xs) = map (f.g) xs
)
Rule | |
|
data AnnotationSubject a Source #
Annotation allows you to connect an expression to any declaration.
NameAnnotation | The definition with the given name is annotated |
| |
TypeAnnotation | A type with the given name is annotated |
| |
ModuleAnnotation | The whole module is annotated |
type Rep (AnnotationSubject a) Source # | |
data MinimalFormula a Source #
Formulas of minimal annotations declaring which functions should be defined.
MinimalName | |
| |
MinimalParen | |
MinimalOr | One of the minimal formulas are needed ( |
MinimalAnd | Both of the minimal formulas are needed ( |
type Rep (MinimalFormula a) Source # | |
Haskell expressions
Var | A variable or a data constructor ( |
Lit | Primitive literal |
InfixApp | Infix operator application ( |
PrefixApp | Prefix operator application ( |
App | Function application ( |
Lambda | Lambda expression ( |
| |
Let | Local binding ( |
| |
If | If expression ( |
MultiIf | Multi way if expressions with |
Case | Pattern matching expression ( |
Do | Do-notation expressions ( |
Tuple | Tuple expression ( |
| |
UnboxedTuple | |
| |
TupleSection | Tuple section, enabled with |
UnboxedTupSec | |
List | List expression: |
| |
ParArray | Parallel array expression: |
| |
Paren | |
| |
LeftSection | Left operator section: |
RightSection | Right operator section: |
RecCon | Record value construction: |
| |
RecUpdate | Record value update: |
| |
Enum | Enumeration expression ( |
ParArrayEnum | Parallel array enumeration ( |
ListComp | List comprehension ( |
ParArrayComp | Parallel array comprehensions |
TypeSig | Explicit type signature ( |
ExplTypeApp | Explicit type application ( |
VarQuote |
|
| |
TypeQuote |
|
| |
BracketExpr | Template haskell bracket expression |
Splice | Template haskell splice expression, for example: |
| |
QuasiQuoteExpr | Template haskell quasi-quotation: |
| |
ExprPragma | |
| |
Proc | Arrow definition: |
ArrowApp | Arrow application: |
LamCase | Lambda case ( |
StaticPtr | Static pointer expression ( |
|
data FieldUpdate a Source #
Field update expressions
NormalFieldUpdate | Update of a field ( |
| |
FieldPun | Update the field to the value of the same name ( |
| |
FieldWildcard | Update the fields of the bounded names to their values ( |
type Rep (FieldUpdate a) Source # | |
data TupSecElem a Source #
An element of a tuple section that can be an expression or missing (indicating a value from a parameter)
Present | An existing element in a tuple section |
| |
Missing | A missing element in a tuple section |
type Rep (TupSecElem a) Source # | |
Clause of case expression
Alt | |
|
Right hand side of a match (possible with guards): ( = 3
or | x == 1 = 3; | otherwise = 4
)
UnguardedCaseRhs | |
| |
GuardedCaseRhss | |
|
type CmdCaseRhs = CaseRhs' Cmd Source #
data GuardedCaseRhs' expr a Source #
A guarded right-hand side of pattern matches binding ( | x > 3 -> 2
)
GuardedCaseRhs | |
|
type Rep (GuardedCaseRhs' expr a) Source # | |
type GuardedCaseRhs = GuardedCaseRhs' Expr Source #
type CmdGuardedCaseRhs = GuardedCaseRhs' Cmd Source #
data ExprPragma a Source #
Pragmas that can be applied to expressions
type Rep (ExprPragma a) Source # | |
data SourceRange a Source #
In-AST source ranges (for generated pragmas)
SourceRange | |
|
type Rep (SourceRange a) Source # | |
ArrowAppCmd | |
ArrowFormCmd | |
AppCmd | |
| |
InfixCmd | |
| |
LambdaCmd | |
ParenCmd | |
CaseCmd | |
IfCmd | |
LetCmd | |
DoCmd | |
Normal monadic statements
BindStmt | Binding statement ( |
| |
ExprStmt | Non-binding statement ( |
LetStmt | Let statement ( |
| |
RecStmt | A recursive binding statement with ( |
|
data ListCompBody a Source #
Body of a list comprehension: ( | x <- [1..10]
)
type Rep (ListCompBody a) Source # | |
List comprehension statement
Representation of patterns for pattern bindings
VarPat | Pattern name binding |
| |
LitPat | Literal pattern |
| |
InfixPat | Infix constructor application pattern ( |
| |
AppPat | Constructor application pattern ( |
| |
TuplePat | Tuple pattern ( |
| |
UnboxTuplePat | |
| |
ListPat | List pattern ( |
| |
ParArrPat | Parallel array pattern ( |
| |
ParenPat | Parenthesised patterns |
| |
RecPat | Record pattern ( |
| |
AsPat | As-pattern (explicit name binding) ( |
| |
WildPat | Wildcard pattern: ( |
IrrPat | Irrefutable pattern ( |
| |
BangPat | Bang pattern ( |
| |
TypeSigPat | Pattern with explicit type signature ( |
| |
ViewPat | View pattern ( |
| |
SplicePat | Splice patterns: |
| |
QuasiQuotePat | Quasi-quoted patterns: |
| |
NPlusKPat | |
|
data PatternField a Source #
NormalFieldPattern | Named field pattern ( |
| |
FieldPunPattern | Named field pun ( |
| |
FieldWildcardPattern | Wildcard field pattern ( |
type Rep (PatternField a) Source # | |
Type variable declaration
TyVarDecl | |
|
Haskell types
TyForall | Forall types ( |
TyCtx | Type with a context ( |
TyFun | Function types ( |
| |
TyTuple | Tuple types ( |
| |
TyUnbTuple | |
| |
TyList | List type with special syntax ( |
| |
TyParArray | Parallel array type ( |
| |
TyApp | Type application ( |
TyVar | type variable or constructor ( |
TyParen | type surrounded by parentheses ( |
| |
TyInfix | Infix type constructor ( |
| |
TyKinded | Type with explicit kind signature ( |
TyPromoted | |
| |
TySplice | a Template Haskell splice type ( |
TyQuasiQuote | a Template Haskell quasi-quote type ( |
| |
TyBang | Strict type marked with |
| |
TyLazy | Lazy type marked with |
| |
TyUnpack | Strict type marked with UNPACK pragma. (Usually contains the bang mark.) |
| |
TyNoUnpack | Strict type marked with NOUNPACK pragma. (Usually contains the bang mark.) |
| |
TyWildcard | A wildcard type ( |
TyNamedWildc | A named wildcard type ( |
|
ContextOne | One assertion ( |
ContextMulti | A set of assertions ( |
A single assertion in the context
ClassAssert | Class assertion ( |
| |
InfixAssert | Infix class assertion, also contains type equations ( |
|
data KindConstraint a Source #
Kind constraint ( :: * -> *
)
KindConstraint | |
|
type Rep (KindConstraint a) Source # | |
Haskell kinds
KindStar |
|
KindUnbox |
|
KindFn |
|
KindParen | A parenthesised kind |
| |
KindVar | kind variable (using |
KindApp | Kind application ( |
| |
KindList | A list kind ( |
KindPromoted | A promoted kind ( |
|
Haskell literals
CharLit | Character literal: |
StringLit | String literal: |
IntLit | Integer literal: |
FracLit | Fractional literal: |
PrimIntLit | Primitive integer literal (of type |
PrimWordLit | Primitive word literal (of type |
PrimFloatLit | Primitive float literal (of type |
PrimDoubleLit | Primitive double literal (of type |
PrimCharLit | Primitive character literal (of type |
PrimStringLit | |
BacktickOp | Backtick operator name: |
| |
NormalOp | |
|
ParenName | Parenthesized name: |
| |
NormalName | |
|
data SimpleName a Source #
Possible qualified names. Contains also implicit names.
Linear implicit parameter: %x
. Non-linear implicit parameter: ?x
.
type Rep (SimpleName a) Source # | |
nameFromList :: AnnList UnqualName a -> SimpleName a Source #
data StringNode a Source #
Program elements formatted as string literals (import packages, pragma texts)
type Rep (StringNode a) Source # | |
data DataOrNewtypeKeyword a Source #
The data
or the newtype
keyword to define ADTs.
type Rep (DataOrNewtypeKeyword a) Source # | |
Keywords do
or mdo
to start a do-block
data TypeKeyword a Source #
The type
keyword used to qualify that the type and not the constructor of the same name is referred
type Rep (TypeKeyword a) Source # | |
data OverlapPragma a Source #
Recognised overlaps for overlap pragmas. Can be applied to class declarations and class instance declarations.
EnableOverlap |
|
DisableOverlap |
|
Overlappable |
|
Overlapping |
|
Overlaps |
|
IncoherentOverlap |
|
type Rep (OverlapPragma a) Source # | |
Call conventions of foreign functions
LeftAppl | Left arrow application: |
RightAppl | Right arrow application: |
LeftHighApp | Left arrow high application: |
RightHighApp | Right arrow high application: |
Safety annotations for foreign calls
Associativity of an operator.
AssocNone | non-associative operator (declared with |
AssocLeft | left-associative operator (declared with |
AssocRight | right-associative operator (declared with |
data PhaseControl a Source #
Controls the activation of a rewrite rule ( [1]
)
type Rep (PhaseControl a) Source # | |
data PhaseInvert a Source #
A tilde that marks the inversion of the phase number
type Rep (PhaseInvert a) Source # | |
An element of the AST keeping extra information.
Ann | |
|
element :: forall elem annot elem'. Lens (Ann elem annot) (Ann elem' annot) (elem annot) (elem' annot) Source #
data NodeInfo sema src Source #
Semantic and source code related information for an AST node.
NodeInfo | |
|
semanticInfo :: forall sema src sema'. Lens (NodeInfo sema src) (NodeInfo sema' src) sema sema' Source #
Location info for different types of nodes
spanRange :: SpanInfo -> SrcSpan Source #
Extracts the concrete range corresponding to a given span. In case of lists and optional elements, it may not contain the elements inside.
type RangeWithName = NodeInfo (SemanticInfo Name) SpanInfo Source #
type RangeWithType = NodeInfo (SemanticInfo Id) SpanInfo Source #
data SemanticInfo n Source #
Semantic information for an AST node. Semantic information is currently heterogeneous.
NoSemanticInfo | Semantic info type for any node not carrying additional semantic information |
ScopeInfo | |
| |
NameInfo | Info corresponding to a name |
| |
ModuleInfo | Info for the module element |
| |
ImportInfo | Info corresponding to an import declaration |
| |
AmbiguousNameInfo | |
|
Eq n => Eq (SemanticInfo n) Source # | |
Data n => Data (SemanticInfo n) Source # | |
Outputable n => Show (SemanticInfo n) Source # | |
scopedLocals :: forall n. Partial (SemanticInfo n) (SemanticInfo n) [[Name]] [[Name]] Source #
nameInfo :: forall n. Partial (SemanticInfo n) (SemanticInfo n) n n Source #
isDefined :: forall n. Partial (SemanticInfo n) (SemanticInfo n) Bool Bool Source #
importedNames :: forall n. Partial (SemanticInfo n) (SemanticInfo n) [n] [n] Source #
importedModule :: forall n. Partial (SemanticInfo n) (SemanticInfo n) Module Module Source #
defModuleName :: forall n. Partial (SemanticInfo n) (SemanticInfo n) Module Module Source #
availableNames :: forall n. Partial (SemanticInfo n) (SemanticInfo n) [n] [n] Source #
ambiguousName :: forall n. Partial (SemanticInfo n) (SemanticInfo n) RdrName RdrName Source #
ambiguousLocation :: forall n. Partial (SemanticInfo n) (SemanticInfo n) SrcSpan SrcSpan Source #
A list of AST elements
AnnList | |
|
An optional AST element
AnnMaybe | |
|
annMaybe :: forall e a e'. Lens (AnnMaybe e a) (AnnMaybe e' a) (Maybe (Ann e a)) (Maybe (Ann e' a)) Source #
isAnnNothing :: AnnMaybe e a -> Bool Source #
annNothing :: a -> AnnMaybe e a Source #
A non-existing AST part
modImports :: forall a. Lens (Module a) (Module a) (AnnList ImportDecl a) (AnnList ImportDecl a) Source #
modHead :: forall a. Lens (Module a) (Module a) (AnnMaybe ModuleHead a) (AnnMaybe ModuleHead a) Source #
filePragmas :: forall a. Lens (Module a) (Module a) (AnnList FilePragma a) (AnnList FilePragma a) Source #
mhPragma :: forall a. Lens (ModuleHead a) (ModuleHead a) (AnnMaybe ModulePragma a) (AnnMaybe ModulePragma a) Source #
mhName :: forall a. Lens (ModuleHead a) (ModuleHead a) (Ann SimpleName a) (Ann SimpleName a) Source #
mhExports :: forall a. Lens (ModuleHead a) (ModuleHead a) (AnnMaybe ExportSpecList a) (AnnMaybe ExportSpecList a) Source #
espExports :: forall a a'. Lens (ExportSpecList a) (ExportSpecList a') (AnnList ExportSpec a) (AnnList ExportSpec a') Source #
exportModuleName :: forall a. Partial (ExportSpec a) (ExportSpec a) (Ann SimpleName a) (Ann SimpleName a) Source #
exportDecl :: forall a. Partial (ExportSpec a) (ExportSpec a) (Ann IESpec a) (Ann IESpec a) Source #
ieSubspec :: forall a. Lens (IESpec a) (IESpec a) (AnnMaybe SubSpec a) (AnnMaybe SubSpec a) Source #
essList :: forall a a'. Partial (SubSpec a) (SubSpec a') (AnnList Name a) (AnnList Name a') Source #
modWarningStr :: forall a. Partial (ModulePragma a) (ModulePragma a) (AnnList StringNode a) (AnnList StringNode a) Source #
modDeprecatedPragma :: forall a. Partial (ModulePragma a) (ModulePragma a) (AnnList StringNode a) (AnnList StringNode a) Source #
importSpec :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportSpec a) (AnnMaybe ImportSpec a) Source #
importSource :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportSource a) (AnnMaybe ImportSource a) Source #
importSafe :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportSafe a) (AnnMaybe ImportSafe a) Source #
importQualified :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportQualified a) (AnnMaybe ImportQualified a) Source #
importPkg :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe StringNode a) (AnnMaybe StringNode a) Source #
importModule :: forall a. Lens (ImportDecl a) (ImportDecl a) (Ann SimpleName a) (Ann SimpleName a) Source #
importAs :: forall a. Lens (ImportDecl a) (ImportDecl a) (AnnMaybe ImportRenaming a) (AnnMaybe ImportRenaming a) Source #
importSpecList :: forall a. Partial (ImportSpec a) (ImportSpec a) (AnnList IESpec a) (AnnList IESpec a) Source #
importSpecHiding :: forall a. Partial (ImportSpec a) (ImportSpec a) (AnnList IESpec a) (AnnList IESpec a) Source #
importRename :: forall a a'. Lens (ImportRenaming a) (ImportRenaming a') (Ann SimpleName a) (Ann SimpleName a') Source #
declTypeSig :: forall a. Partial (Decl a) (Decl a) (Ann TypeSignature a) (Ann TypeSignature a) Source #
declTypeFamily :: forall a. Partial (Decl a) (Decl a) (Ann TypeFamily a) (Ann TypeFamily a) Source #
declRoleType :: forall a. Partial (Decl a) (Decl a) (Ann SimpleName a) (Ann SimpleName a) Source #
declPragma :: forall a. Partial (Decl a) (Decl a) (Ann TopLevelPragma a) (Ann TopLevelPragma a) Source #
declPatTypeSig :: forall a. Partial (Decl a) (Decl a) (Ann PatternTypeSignature a) (Ann PatternTypeSignature a) Source #
declPatSyn :: forall a. Partial (Decl a) (Decl a) (Ann PatternSynonym a) (Ann PatternSynonym a) Source #
declOverlap :: forall a. Partial (Decl a) (Decl a) (AnnMaybe OverlapPragma a) (AnnMaybe OverlapPragma a) Source #
declNewtype :: forall a. Partial (Decl a) (Decl a) (Ann DataOrNewtypeKeyword a) (Ann DataOrNewtypeKeyword a) Source #
declKind :: forall a. Partial (Decl a) (Decl a) (AnnMaybe KindConstraint a) (AnnMaybe KindConstraint a) Source #
declInstance :: forall a. Partial (Decl a) (Decl a) (Ann InstanceRule a) (Ann InstanceRule a) Source #
declInstRule :: forall a. Partial (Decl a) (Decl a) (Ann InstanceRule a) (Ann InstanceRule a) Source #
declInstDecl :: forall a. Partial (Decl a) (Decl a) (AnnMaybe InstBody a) (AnnMaybe InstBody a) Source #
declGadt :: forall a. Partial (Decl a) (Decl a) (AnnList GadtConDecl a) (AnnList GadtConDecl a) Source #
declFunDeps :: forall a. Partial (Decl a) (Decl a) (AnnMaybe FunDeps a) (AnnMaybe FunDeps a) Source #
declFixity :: forall a. Partial (Decl a) (Decl a) (Ann FixitySignature a) (Ann FixitySignature a) Source #
declDeriving :: forall a. Partial (Decl a) (Decl a) (AnnMaybe Deriving a) (AnnMaybe Deriving a) Source #
declBody :: forall a. Partial (Decl a) (Decl a) (AnnMaybe ClassBody a) (AnnMaybe ClassBody a) Source #
cbElements :: forall a a'. Lens (ClassBody a) (ClassBody a') (AnnList ClassElement a) (AnnList ClassElement a') Source #
pragmaFormula :: forall a. Partial (ClassElement a) (ClassElement a) (Ann MinimalFormula a) (Ann MinimalFormula a) Source #
ceTypeSig :: forall a. Partial (ClassElement a) (ClassElement a) (Ann TypeSignature a) (Ann TypeSignature a) Source #
ceTypeFam :: forall a. Partial (ClassElement a) (ClassElement a) (Ann TypeFamily a) (Ann TypeFamily a) Source #
ceType :: forall a. Partial (ClassElement a) (ClassElement a) (Ann Type a) (Ann Type a) Source #
cePatSig :: forall a. Partial (ClassElement a) (ClassElement a) (Ann PatternTypeSignature a) (Ann PatternTypeSignature a) Source #
ceName :: forall a. Partial (ClassElement a) (ClassElement a) (Ann Name a) (Ann Name a) Source #
ceKind :: forall a. Partial (ClassElement a) (ClassElement a) (Ann Type a) (Ann Type a) Source #
ceHead :: forall a. Partial (ClassElement a) (ClassElement a) (Ann DeclHead a) (Ann DeclHead a) Source #
ceBind :: forall a. Partial (ClassElement a) (ClassElement a) (Ann ValueBind a) (Ann ValueBind a) Source #
dhOperator :: forall a. Partial (DeclHead a) (DeclHead a) (Ann Operator a) (Ann Operator a) Source #
instBodyDecls :: forall a a'. Lens (InstBody a) (InstBody a') (AnnList InstBodyDecl a) (AnnList InstBodyDecl a') Source #
specializeInstanceType :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann Type a) (Ann Type a) Source #
instBodyTypeSig :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann TypeSignature a) (Ann TypeSignature a) Source #
instBodyTypeEqn :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann TypeEqn a) (Ann TypeEqn a) Source #
instBodyPatSyn :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann PatternSynonym a) (Ann PatternSynonym a) Source #
instBodyLhsType :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann InstanceRule a) (Ann InstanceRule a) Source #
instBodyGadtCons :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnList GadtConDecl a) (AnnList GadtConDecl a) Source #
instBodyDerivings :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnMaybe Deriving a) (AnnMaybe Deriving a) Source #
instBodyDeclFunbind :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann ValueBind a) (Ann ValueBind a) Source #
instBodyDataNew :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (Ann DataOrNewtypeKeyword a) (Ann DataOrNewtypeKeyword a) Source #
instBodyDataKind :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnMaybe Kind a) (AnnMaybe Kind a) Source #
instBodyDataCons :: forall a. Partial (InstBodyDecl a) (InstBodyDecl a) (AnnList ConDecl a) (AnnList ConDecl a) Source #
gadtConType :: forall a. Lens (GadtConDecl a) (GadtConDecl a) (Ann GadtConType a) (Ann GadtConType a) Source #
gadtConNames :: forall a. Lens (GadtConDecl a) (GadtConDecl a) (AnnList Name a) (AnnList Name a) Source #
gadtConResultType :: forall a. Partial (GadtConType a) (GadtConType a) (Ann Type a) (Ann Type a) Source #
gadtConRecordFields :: forall a. Partial (GadtConType a) (GadtConType a) (AnnList FieldDecl a) (AnnList FieldDecl a) Source #
gadtConNormalType :: forall a. Partial (GadtConType a) (GadtConType a) (Ann Type a) (Ann Type a) Source #
funDeps :: forall a a'. Lens (FunDeps a) (FunDeps a') (AnnList FunDep a) (AnnList FunDep a') Source #
conDeclFields :: forall a. Partial (ConDecl a) (ConDecl a) (AnnList FieldDecl a) (AnnList FieldDecl a) Source #
oneDerived :: forall a. Partial (Deriving a) (Deriving a) (Ann InstanceHead a) (Ann InstanceHead a) Source #
allDerived :: forall a. Partial (Deriving a) (Deriving a) (AnnList InstanceHead a) (AnnList InstanceHead a) Source #
irVars :: forall a. Partial (InstanceRule a) (InstanceRule a) (AnnMaybe (AnnList TyVar) a) (AnnMaybe (AnnList TyVar) a) Source #
irRule :: forall a. Partial (InstanceRule a) (InstanceRule a) (Ann InstanceRule a) (Ann InstanceRule a) Source #
irHead :: forall a. Partial (InstanceRule a) (InstanceRule a) (Ann InstanceHead a) (Ann InstanceHead a) Source #
irCtx :: forall a. Partial (InstanceRule a) (InstanceRule a) (AnnMaybe Context a) (AnnMaybe Context a) Source #
ihType :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Type a) (Ann Type a) Source #
ihOperator :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Name a) (Ann Name a) Source #
ihLeftOp :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Type a) (Ann Type a) Source #
ihHead :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann InstanceHead a) (Ann InstanceHead a) Source #
ihFun :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann InstanceHead a) (Ann InstanceHead a) Source #
ihConName :: forall a. Partial (InstanceHead a) (InstanceHead a) (Ann Name a) (Ann Name a) Source #
kindConstr :: forall a a'. Lens (KindConstraint a) (KindConstraint a') (Ann Kind a) (Ann Kind a') Source #
tyVarKind :: forall a. Lens (TyVar a) (TyVar a) (AnnMaybe KindConstraint a) (AnnMaybe KindConstraint a) Source #
typeQQ :: forall a. Partial (Type a) (Type a) (QuasiQuote a) (QuasiQuote a) Source #
tpPromoted :: forall a. Partial (Type a) (Type a) (Ann (Promoted Type) a) (Ann (Promoted Type) a) Source #
kindPromoted :: forall a. Partial (Kind a) (Kind a) (Ann (Promoted Kind) a) (Ann (Promoted Kind) a) Source #
contextAssertions :: forall a. Partial (Context a) (Context a) (AnnList Assertion a) (AnnList Assertion a) Source #
contextAssertion :: forall a. Partial (Context a) (Context a) (Ann Assertion a) (Ann Assertion a) Source #
assertTypes :: forall a. Partial (Assertion a) (Assertion a) (AnnList Type a) (AnnList Type a) Source #
assertOp :: forall a. Partial (Assertion a) (Assertion a) (Ann Operator a) (Ann Operator a) Source #
tupleSectionElems :: forall a. Partial (Expr a) (Expr a) (AnnList TupSecElem a) (AnnList TupSecElem a) Source #
exprRecFields :: forall a. Partial (Expr a) (Expr a) (AnnList FieldUpdate a) (AnnList FieldUpdate a) Source #
exprQQ :: forall a. Partial (Expr a) (Expr a) (Ann QuasiQuote a) (Ann QuasiQuote a) Source #
exprPragma :: forall a. Partial (Expr a) (Expr a) (Ann ExprPragma a) (Ann ExprPragma a) Source #
exprIfAlts :: forall a. Partial (Expr a) (Expr a) (AnnList GuardedCaseRhs a) (AnnList GuardedCaseRhs a) Source #
exprFunBind :: forall a. Partial (Expr a) (Expr a) (AnnList LocalBind a) (AnnList LocalBind a) Source #
exprBindings :: forall a. Partial (Expr a) (Expr a) (AnnList Pattern a) (AnnList Pattern a) Source #
compBody :: forall a. Partial (Expr a) (Expr a) (AnnList ListCompBody a) (AnnList ListCompBody a) Source #
stmtPattern :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (Ann Pattern a) (Ann Pattern a) Source #
stmtBinds :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (AnnList LocalBind a) (AnnList LocalBind a) Source #
cmdStmtBinds :: forall expr a. Partial (Stmt' expr a) (Stmt' expr a) (AnnList (Stmt' expr) a) (AnnList (Stmt' expr) a) Source #
usingExpr :: forall a. Partial (CompStmt a) (CompStmt a) (AnnMaybe Expr a) (AnnMaybe Expr a) Source #
valBindPat :: forall a. Partial (ValueBind a) (ValueBind a) (Ann Pattern a) (Ann Pattern a) Source #
valBindLocals :: forall a. Partial (ValueBind a) (ValueBind a) (AnnMaybe LocalBinds a) (AnnMaybe LocalBinds a) Source #
funBindMatches :: forall a. Partial (ValueBind a) (ValueBind a) (AnnList Match a) (AnnList Match a) Source #
patternOperator :: forall a. Partial (Pattern a) (Pattern a) (Ann Operator a) (Ann Operator a) Source #
patternLiteral :: forall a. Partial (Pattern a) (Pattern a) (Ann Literal a) (Ann Literal a) Source #
patternFields :: forall a. Partial (Pattern a) (Pattern a) (AnnList PatternField a) (AnnList PatternField a) Source #
patternElems :: forall a. Partial (Pattern a) (Pattern a) (AnnList Pattern a) (AnnList Pattern a) Source #
patternArgs :: forall a. Partial (Pattern a) (Pattern a) (AnnList Pattern a) (AnnList Pattern a) Source #
patQQ :: forall a. Partial (Pattern a) (Pattern a) (Ann QuasiQuote a) (Ann QuasiQuote a) Source #
fieldPatternName :: forall a. Partial (PatternField a) (PatternField a) (Ann Name a) (Ann Name a) Source #
fieldPattern :: forall a. Partial (PatternField a) (PatternField a) (Ann Pattern a) (Ann Pattern a) Source #
matchBinds :: forall a. Lens (Match a) (Match a) (AnnMaybe LocalBinds a) (AnnMaybe LocalBinds a) Source #
altRhs :: forall expr a expr'. Lens (Alt' expr a) (Alt' expr' a) (Ann (CaseRhs' expr) a) (Ann (CaseRhs' expr') a) Source #
altPattern :: forall expr a. Lens (Alt' expr a) (Alt' expr a) (Ann Pattern a) (Ann Pattern a) Source #
altBinds :: forall expr a. Lens (Alt' expr a) (Alt' expr a) (AnnMaybe LocalBinds a) (AnnMaybe LocalBinds a) Source #
rhsGuards :: forall a. Partial (Rhs a) (Rhs a) (AnnList GuardedRhs a) (AnnList GuardedRhs a) Source #
guardStmts :: forall a. Lens (GuardedRhs a) (GuardedRhs a) (AnnList RhsGuard a) (AnnList RhsGuard a) Source #
guardExpr :: forall a. Lens (GuardedRhs a) (GuardedRhs a) (Ann Expr a) (Ann Expr a) Source #
fieldValue :: forall a. Partial (FieldUpdate a) (FieldUpdate a) (Ann Expr a) (Ann Expr a) Source #
fieldUpdateName :: forall a. Partial (FieldUpdate a) (FieldUpdate a) (Ann Name a) (Ann Name a) Source #
fieldName :: forall a. Partial (FieldUpdate a) (FieldUpdate a) (Ann Name a) (Ann Name a) Source #
bracketPattern :: forall a. Partial (Bracket a) (Bracket a) (Ann Pattern a) (Ann Pattern a) Source #
specializeType :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnList Type a) (AnnList Type a) Source #
specializeDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a) Source #
pragmaRule :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnList Rule a) (AnnList Rule a) Source #
pragmaPhase :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnMaybe PhaseControl a) (AnnMaybe PhaseControl a) Source #
pragmaObjects :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnList Name a) (AnnList Name a) Source #
pragmaMessage :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann StringNode a) (Ann StringNode a) Source #
pragmaLineNum :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann LineNumber a) (Ann LineNumber a) Source #
pragmaFileName :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnMaybe StringNode a) (AnnMaybe StringNode a) Source #
pragmaConlike :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (AnnMaybe ConlikeAnnot a) (AnnMaybe ConlikeAnnot a) Source #
noInlineDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a) Source #
inlineDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a) Source #
inlinableDef :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Name a) (Ann Name a) Source #
annotationSubject :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann AnnotationSubject a) (Ann AnnotationSubject a) Source #
annotateExpr :: forall a. Partial (TopLevelPragma a) (TopLevelPragma a) (Ann Expr a) (Ann Expr a) Source #
rulePhase :: forall a. Lens (Rule a) (Rule a) (AnnMaybe PhaseControl a) (AnnMaybe PhaseControl a) Source #
ruleName :: forall a. Lens (Rule a) (Rule a) (Ann StringNode a) (Ann StringNode a) Source #
annotateName :: forall a a'. Partial (AnnotationSubject a) (AnnotationSubject a') (Ann Name a) (Ann Name a') Source #
minimalOrs :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (AnnList MinimalFormula a) (AnnList MinimalFormula a) Source #
minimalName :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (Ann Name a) (Ann Name a) Source #
minimalInner :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (Ann MinimalFormula a) (Ann MinimalFormula a) Source #
minimalAnds :: forall a. Partial (MinimalFormula a) (MinimalFormula a) (AnnList MinimalFormula a) (AnnList MinimalFormula a) Source #
pragmaStr :: forall a. Partial (ExprPragma a) (ExprPragma a) (Ann StringNode a) (Ann StringNode a) Source #
pragmaSrcRange :: forall a. Partial (ExprPragma a) (ExprPragma a) (Ann SourceRange a) (Ann SourceRange a) Source #
srToLine :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a) Source #
srToCol :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a) Source #
srFromLine :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a) Source #
srFromCol :: forall a. Lens (SourceRange a) (SourceRange a) (Ann Number a) (Ann Number a) Source #
srFileName :: forall a. Lens (SourceRange a) (SourceRange a) (Ann StringNode a) (Ann StringNode a) Source #
qqExprName :: forall a. Lens (QuasiQuote a) (QuasiQuote a) (Ann Name a) (Ann Name a) Source #
qqExprBody :: forall a. Lens (QuasiQuote a) (QuasiQuote a) (Ann QQString a) (Ann QQString a) Source #
guardBinds :: forall a. Partial (RhsGuard a) (RhsGuard a) (AnnList LocalBind a) (AnnList LocalBind a) Source #
localVal :: forall a. Partial (LocalBind a) (LocalBind a) (Ann ValueBind a) (Ann ValueBind a) Source #
localSig :: forall a. Partial (LocalBind a) (LocalBind a) (Ann TypeSignature a) (Ann TypeSignature a) Source #
localFixity :: forall a. Partial (LocalBind a) (LocalBind a) (Ann FixitySignature a) (Ann FixitySignature a) Source #
localBinds :: forall a a'. Lens (LocalBinds a) (LocalBinds a') (AnnList LocalBind a) (AnnList LocalBind a') Source #
fixityPrecedence :: forall a. Lens (FixitySignature a) (FixitySignature a) (Ann Precedence a) (Ann Precedence a) Source #
fixityOperators :: forall a. Lens (FixitySignature a) (FixitySignature a) (AnnList Operator a) (AnnList Operator a) Source #
fixityAssoc :: forall a. Lens (FixitySignature a) (FixitySignature a) (Ann Assoc a) (Ann Assoc a) Source #
tsType :: forall a. Lens (TypeSignature a) (TypeSignature a) (Ann Type a) (Ann Type a) Source #
tsName :: forall a. Lens (TypeSignature a) (TypeSignature a) (AnnList Name a) (AnnList Name a) Source #
compStmts :: forall a a'. Lens (ListCompBody a) (ListCompBody a') (AnnList CompStmt a) (AnnList CompStmt a') Source #
tupSecExpr :: forall a a'. Partial (TupSecElem a) (TupSecElem a') (Ann Expr a) (Ann Expr a') Source #
tfSpec :: forall a. Partial (TypeFamily a) (TypeFamily a) (AnnMaybe TypeFamilySpec a) (AnnMaybe TypeFamilySpec a) Source #
tfKind :: forall a. Partial (TypeFamily a) (TypeFamily a) (AnnMaybe KindConstraint a) (AnnMaybe KindConstraint a) Source #
tfHead :: forall a. Lens (TypeFamily a) (TypeFamily a) (Ann DeclHead a) (Ann DeclHead a) Source #
tfSpecKind :: forall a. Partial (TypeFamilySpec a) (TypeFamilySpec a) (Ann KindConstraint a) (Ann KindConstraint a) Source #
tfInjectivity :: forall a. Partial (TypeFamilySpec a) (TypeFamilySpec a) (Ann InjectivityAnn a) (Ann InjectivityAnn a) Source #
injAnnRes :: forall a. Lens (InjectivityAnn a) (InjectivityAnn a) (Ann Name a) (Ann Name a) Source #
injAnnDeps :: forall a. Lens (InjectivityAnn a) (InjectivityAnn a) (AnnList Name a) (AnnList Name a) Source #
rhsCaseGuards :: forall expr a. Partial (CaseRhs' expr a) (CaseRhs' expr a) (AnnList (GuardedCaseRhs' expr) a) (AnnList (GuardedCaseRhs' expr) a) Source #
rhsCaseExpr :: forall expr a. Partial (CaseRhs' expr a) (CaseRhs' expr a) (Ann expr a) (Ann expr a) Source #
caseGuardStmts :: forall expr a. Lens (GuardedCaseRhs' expr a) (GuardedCaseRhs' expr a) (AnnList RhsGuard a) (AnnList RhsGuard a) Source #
caseGuardExpr :: forall expr a expr'. Lens (GuardedCaseRhs' expr a) (GuardedCaseRhs' expr' a) (Ann expr a) (Ann expr' a) Source #
patRhs :: forall a. Lens (PatternSynonym a) (PatternSynonym a) (Ann PatSynRhs a) (Ann PatSynRhs a) Source #
patLhs :: forall a. Lens (PatternSynonym a) (PatternSynonym a) (Ann PatSynLhs a) (Ann PatSynLhs a) Source #
patRhsOpposite :: forall a. Partial (PatSynRhs a) (PatSynRhs a) (AnnMaybe PatSynWhere a) (AnnMaybe PatSynWhere a) Source #
patSynOp :: forall a. Partial (PatSynLhs a) (PatSynLhs a) (Ann Operator a) (Ann Operator a) Source #
patOpposite :: forall a a'. Lens (PatSynWhere a) (PatSynWhere a') (AnnList Match a) (AnnList Match a') Source #
patSigType :: forall a. Lens (PatternTypeSignature a) (PatternTypeSignature a) (Ann Type a) (Ann Type a) Source #
patSigName :: forall a. Lens (PatternTypeSignature a) (PatternTypeSignature a) (Ann Name a) (Ann Name a) Source #
langExt :: forall a. Lens (LanguageExtension a) (LanguageExtension a) String String Source #
matchLhsOperator :: forall a. Partial (MatchLhs a) (MatchLhs a) (Ann Operator a) (Ann Operator a) Source #
matchLhsArgs :: forall a. Lens (MatchLhs a) (MatchLhs a) (AnnList Pattern a) (AnnList Pattern a) Source #
promotedElements :: forall t a t'. Partial (Promoted t a) (Promoted t' a) (AnnList t a) (AnnList t' a) Source #
promotedConName :: forall t a. Partial (Promoted t a) (Promoted t a) (Ann Name a) (Ann Name a) Source #
operatorName :: forall a a'. Lens (Operator a) (Operator a') (Ann SimpleName a) (Ann SimpleName a') Source #
simpleName :: forall a a'. Lens (Name a) (Name a') (Ann SimpleName a) (Ann SimpleName a') Source #
unqualifiedName :: forall a. Lens (SimpleName a) (SimpleName a) (Ann UnqualName a) (Ann UnqualName a) Source #
qualifiers :: forall a. Lens (SimpleName a) (SimpleName a) (AnnList UnqualName a) (AnnList UnqualName a) Source #
simpleNameStr :: forall a. Lens (UnqualName a) (UnqualName a) String String Source #
stringNodeStr :: forall a. Lens (StringNode a) (StringNode a) String String Source #
precedenceValue :: forall a. Lens (Precedence a) (Precedence a) Int Int Source #
phaseUntil :: forall a. Lens (PhaseControl a) (PhaseControl a) (AnnMaybe PhaseInvert a) (AnnMaybe PhaseInvert a) Source #
phaseNumber :: forall a. Lens (PhaseControl a) (PhaseControl a) (Ann PhaseNumber a) (Ann PhaseNumber a) Source #
phaseNum :: forall a. Lens (PhaseNumber a) (PhaseNumber a) Integer Integer Source #
ordByOccurrence :: SimpleName a -> SimpleName a -> Ordering Source #
nameString :: SimpleName a -> String Source #
The occurrence of the name.
nameElements :: SimpleName a -> [String] Source #
The qualifiers and the unqualified name
nameQualifier :: SimpleName a -> [String] Source #
The qualifier of the name
importIsExact :: ImportDecl a -> Bool Source #
Does the import declaration import only the explicitly listed elements?
importIsHiding :: ImportDecl a -> Bool Source #
Does the import declaration has a hiding
clause?
importExacts :: Simple Traversal (ImportDecl a) (IESpec a) Source #
All elements that are explicitly listed to be imported in the import declaration
importHidings :: Simple Traversal (ImportDecl a) (IESpec a) Source #
All elements that are hidden in an import
importQualifiers :: ImportDecl a -> [[String]] Source #
Possible qualifiers to use imported definitions
bindingSemantics :: Simple Traversal (Ann ValueBind (NodeInfo (SemanticInfo n) s)) (SemanticInfo n) Source #
bindingName :: Simple Traversal (Ann ValueBind (NodeInfo (SemanticInfo n) s)) n Source #
declHeadNames :: Simple Traversal (Ann DeclHead a) (Ann SimpleName a) Source #
semantics :: Simple Lens (Ann a (NodeInfo sema src)) sema Source #
Access the semantic information of an AST node.
class BindingElem d where Source #
A type class for transformations that work on both top-level and local definitions
bindName :: BindingElem d => Simple Traversal (d (NodeInfo (SemanticInfo n) src)) n Source #
valBindsInList :: BindingElem d => Simple Traversal (AnnList d a) (Ann ValueBind a) Source #
getValBindInList :: (BindingElem d, HasRange a) => RealSrcSpan -> AnnList d a -> Maybe (Ann ValueBind a) Source #
nodesContaining :: forall node inner a. (Biplate (node a) (inner a), HasAnnot node, HasAnnot inner, HasRange a) => RealSrcSpan -> Simple Traversal (node a) (inner a) Source #
nodesWithRange :: forall node inner a. (Biplate (node a) (inner a), HasAnnot node, HasAnnot inner, HasRange a) => RealSrcSpan -> Simple Traversal (node a) (inner a) Source #
getNodeContaining :: (Biplate (node a) (Ann inner a), HasAnnot node, HasRange a) => RealSrcSpan -> node a -> Maybe (Ann inner a) Source #
getNode :: (Biplate (node a) (inner a), HasAnnot node, HasAnnot inner, HasRange a) => RealSrcSpan -> node a -> inner a Source #
ordSrcSpan :: SrcSpan -> OrdSrcSpan Source #
Wraps the SrcSpan into an ordered source span
fromOrdSrcSpan :: OrdSrcSpan -> SrcSpan Source #
Unwrap the ordered source span
data OrdSrcSpan Source #
A wrapper for SrcSpans that is ordered.