hpython 0.2 → 0.3
raw patch · 9 files changed
+352/−223 lines, 9 filesdep ~thesePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: these
API changes (from Hackage documentation)
- Language.Python.Validate.Scope: Clean :: Binding
- Language.Python.Validate.Scope: Dirty :: Binding
- Language.Python.Validate.Scope: ScopeContext :: !Map ByteString a -> !Map ByteString a -> !Map ByteString a -> ScopeContext a
- Language.Python.Validate.Scope: [_scGlobalScope] :: ScopeContext a -> !Map ByteString a
- Language.Python.Validate.Scope: [_scImmediateScope] :: ScopeContext a -> !Map ByteString a
- Language.Python.Validate.Scope: [_scLocalScope] :: ScopeContext a -> !Map ByteString a
- Language.Python.Validate.Scope: data Binding
- Language.Python.Validate.Scope: data ScopeContext a
- Language.Python.Validate.Scope: initialScopeContext :: ScopeContext a
- Language.Python.Validate.Scope: instance GHC.Classes.Eq Language.Python.Validate.Scope.Binding
- Language.Python.Validate.Scope: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Python.Validate.Scope.ScopeContext a)
- Language.Python.Validate.Scope: instance GHC.Classes.Ord Language.Python.Validate.Scope.Binding
- Language.Python.Validate.Scope: instance GHC.Show.Show Language.Python.Validate.Scope.Binding
- Language.Python.Validate.Scope: instance GHC.Show.Show a => GHC.Show.Show (Language.Python.Validate.Scope.ScopeContext a)
- Language.Python.Validate.Scope: locallyExtendOver :: Lens' (ScopeContext ann) (Map ByteString ann) -> [(ann, String)] -> ValidateScope ann e a -> ValidateScope ann e a
- Language.Python.Validate.Scope: locallyOver :: Lens' (ScopeContext ann) b -> (b -> b) -> ValidateScope ann e a -> ValidateScope ann e a
- Language.Python.Validate.Scope: scGlobalScope :: forall a_a5TRu. Lens' (ScopeContext a_a5TRu) (Map ByteString a_a5TRu)
- Language.Python.Validate.Scope: scImmediateScope :: forall a_a5TRu. Lens' (ScopeContext a_a5TRu) (Map ByteString a_a5TRu)
- Language.Python.Validate.Scope: scLocalScope :: forall a_a5TRu. Lens' (ScopeContext a_a5TRu) (Map ByteString a_a5TRu)
+ Language.Python.Syntax.Ann: instance Language.Python.Syntax.Ann.HasAnn Language.Python.Syntax.Ann.Ann
+ Language.Python.Syntax.CommaSep: instance Data.Semigroup.Foldable.Class.Foldable1 Language.Python.Syntax.CommaSep.CommaSep1
+ Language.Python.Syntax.CommaSep: instance Data.Semigroup.Foldable.Class.Foldable1 Language.Python.Syntax.CommaSep.CommaSep1'
+ Language.Python.Syntax.CommaSep: instance Data.Semigroup.Traversable.Class.Traversable1 Language.Python.Syntax.CommaSep.CommaSep1
+ Language.Python.Syntax.CommaSep: instance Data.Semigroup.Traversable.Class.Traversable1 Language.Python.Syntax.CommaSep.CommaSep1'
+ Language.Python.Syntax.Statement: _Statements1 :: HasStatements1 s => Traversal1 (s v a) (s '[] a) (Statement v a) (Statement '[] a)
+ Language.Python.Syntax.Statement: class HasStatements s => HasStatements1 s
+ Language.Python.Syntax.Statement: instance Language.Python.Syntax.Statement.HasStatements1 Language.Python.Syntax.Statement.Block
+ Language.Python.Syntax.Statement: instance Language.Python.Syntax.Statement.HasStatements1 Language.Python.Syntax.Statement.Statement
+ Language.Python.Validate.Scope: Control :: Level
+ Language.Python.Validate.Scope: Definition :: Level
+ Language.Python.Validate.Scope: Entry :: a -> !Seq Level -> Entry a
+ Language.Python.Validate.Scope: Toplevel :: Level
+ Language.Python.Validate.Scope: [_entryPath] :: Entry a -> !Seq Level
+ Language.Python.Validate.Scope: [_entryValue] :: Entry a -> a
+ Language.Python.Validate.Scope: controlScope :: ValidateScope ann e a -> ValidateScope ann e a
+ Language.Python.Validate.Scope: data Entry a
+ Language.Python.Validate.Scope: data Level
+ Language.Python.Validate.Scope: definitionScope :: ValidateScope ann e a -> ValidateScope ann e a
+ Language.Python.Validate.Scope: instance GHC.Base.Functor Language.Python.Validate.Scope.Entry
+ Language.Python.Validate.Scope: instance GHC.Classes.Eq Language.Python.Validate.Scope.Level
+ Language.Python.Validate.Scope: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Python.Validate.Scope.Entry a)
+ Language.Python.Validate.Scope: instance GHC.Show.Show Language.Python.Validate.Scope.Level
+ Language.Python.Validate.Scope: instance GHC.Show.Show a => GHC.Show.Show (Language.Python.Validate.Scope.Entry a)
+ Language.Python.Validate.Scope: localScope :: (Map ByteString (Entry ann) -> Map ByteString (Entry ann)) -> ValidateScope ann e a -> ValidateScope ann e a
+ Language.Python.Validate.Scope: lookupScope :: String -> ValidateScope ann e (Maybe (Entry ann))
- Data.Validate.Monadic: bindVM :: Monad m => m a -> (a -> ValidateM e m b) -> ValidateM e m b
+ Data.Validate.Monadic: bindVM :: Monad m => ValidateM e m a -> (a -> ValidateM e m b) -> ValidateM e m b
- Language.Python.DSL: callAnn :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) (Ann a_a2N4c)
+ Language.Python.DSL: callAnn :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) (Ann a_a2Vih)
- Language.Python.DSL: callArguments :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) (Maybe (CommaSep1' (Arg v_a2N4b a_a2N4c)))
+ Language.Python.DSL: callArguments :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) (Maybe (CommaSep1' (Arg v_a2Vig a_a2Vih)))
- Language.Python.DSL: callFunction :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) (Expr v_a2N4b a_a2N4c)
+ Language.Python.DSL: callFunction :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) (Expr v_a2Vig a_a2Vih)
- Language.Python.DSL: callLeftParen :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) [Whitespace]
+ Language.Python.DSL: callLeftParen :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) [Whitespace]
- Language.Python.DSL: callRightParen :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) [Whitespace]
+ Language.Python.DSL: callRightParen :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) [Whitespace]
- Language.Python.DSL: cdAnn :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Ann a_a2PY5)
+ Language.Python.DSL: cdAnn :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Ann a_a2Yca)
- Language.Python.DSL: cdArguments :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Maybe ([Whitespace], Maybe (CommaSep1' (Arg v_a2PY4 a_a2PY5)), [Whitespace]))
+ Language.Python.DSL: cdArguments :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Maybe ([Whitespace], Maybe (CommaSep1' (Arg v_a2Yc9 a_a2Yca)), [Whitespace]))
- Language.Python.DSL: cdBody :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Suite v_a2PY4 a_a2PY5)
+ Language.Python.DSL: cdBody :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Suite v_a2Yc9 a_a2Yca)
- Language.Python.DSL: cdClass :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (NonEmpty Whitespace)
+ Language.Python.DSL: cdClass :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (NonEmpty Whitespace)
- Language.Python.DSL: cdDecorators :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) [Decorator v_a2PY4 a_a2PY5]
+ Language.Python.DSL: cdDecorators :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) [Decorator v_a2Yc9 a_a2Yca]
- Language.Python.DSL: cdIndents :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Indents a_a2PY5)
+ Language.Python.DSL: cdIndents :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Indents a_a2Yca)
- Language.Python.DSL: cdName :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Ident v_a2PY4 a_a2PY5)
+ Language.Python.DSL: cdName :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Ident v_a2Yc9 a_a2Yca)
- Language.Python.DSL: elifBody :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) (Suite v_a2Noq a_a2Nor)
+ Language.Python.DSL: elifBody :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) (Suite v_a2VCv a_a2VCw)
- Language.Python.DSL: elifCond :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) (Expr v_a2Noq a_a2Nor)
+ Language.Python.DSL: elifCond :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) (Expr v_a2VCv a_a2VCw)
- Language.Python.DSL: elifElif :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) [Whitespace]
+ Language.Python.DSL: elifElif :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) [Whitespace]
- Language.Python.DSL: elifIndents :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) (Indents a_a2Nor)
+ Language.Python.DSL: elifIndents :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) (Indents a_a2VCw)
- Language.Python.DSL: elseBody :: forall v_a2L90 a_a2L91 v_a2Lsw. Lens (Else v_a2L90 a_a2L91) (Else v_a2Lsw a_a2L91) (Suite v_a2L90 a_a2L91) (Suite v_a2Lsw a_a2L91)
+ Language.Python.DSL: elseBody :: forall v_a2Tn5 a_a2Tn6 v_a2TGB. Lens (Else v_a2Tn5 a_a2Tn6) (Else v_a2TGB a_a2Tn6) (Suite v_a2Tn5 a_a2Tn6) (Suite v_a2TGB a_a2Tn6)
- Language.Python.DSL: elseElse :: forall v_a2L90 a_a2L91. Lens' (Else v_a2L90 a_a2L91) [Whitespace]
+ Language.Python.DSL: elseElse :: forall v_a2Tn5 a_a2Tn6. Lens' (Else v_a2Tn5 a_a2Tn6) [Whitespace]
- Language.Python.DSL: elseIndents :: forall v_a2L90 a_a2L91. Lens' (Else v_a2L90 a_a2L91) (Indents a_a2L91)
+ Language.Python.DSL: elseIndents :: forall v_a2Tn5 a_a2Tn6. Lens' (Else v_a2Tn5 a_a2Tn6) (Indents a_a2Tn6)
- Language.Python.DSL: exceptBody :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) (Suite v_a2OUh a_a2OUi)
+ Language.Python.DSL: exceptBody :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) (Suite v_a2X8m a_a2X8n)
- Language.Python.DSL: exceptExcept :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) [Whitespace]
+ Language.Python.DSL: exceptExcept :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) [Whitespace]
- Language.Python.DSL: exceptExceptAs :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) (Maybe (ExceptAs v_a2OUh a_a2OUi))
+ Language.Python.DSL: exceptExceptAs :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) (Maybe (ExceptAs v_a2X8m a_a2X8n))
- Language.Python.DSL: exceptIndents :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) (Indents a_a2OUi)
+ Language.Python.DSL: exceptIndents :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) (Indents a_a2X8n)
- Language.Python.DSL: fdAnn :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Ann a_a2KCQ)
+ Language.Python.DSL: fdAnn :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Ann a_a2SQV)
- Language.Python.DSL: fdAsync :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Maybe (NonEmpty Whitespace))
+ Language.Python.DSL: fdAsync :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Maybe (NonEmpty Whitespace))
- Language.Python.DSL: fdBody :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Suite v_a2KCP a_a2KCQ)
+ Language.Python.DSL: fdBody :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Suite v_a2SQU a_a2SQV)
- Language.Python.DSL: fdDecorators :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) [Decorator v_a2KCP a_a2KCQ]
+ Language.Python.DSL: fdDecorators :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) [Decorator v_a2SQU a_a2SQV]
- Language.Python.DSL: fdDefSpaces :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (NonEmpty Whitespace)
+ Language.Python.DSL: fdDefSpaces :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (NonEmpty Whitespace)
- Language.Python.DSL: fdIndents :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Indents a_a2KCQ)
+ Language.Python.DSL: fdIndents :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Indents a_a2SQV)
- Language.Python.DSL: fdLeftParenSpaces :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) [Whitespace]
+ Language.Python.DSL: fdLeftParenSpaces :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) [Whitespace]
- Language.Python.DSL: fdName :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Ident v_a2KCP a_a2KCQ)
+ Language.Python.DSL: fdName :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Ident v_a2SQU a_a2SQV)
- Language.Python.DSL: fdParameters :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (CommaSep (Param v_a2KCP a_a2KCQ))
+ Language.Python.DSL: fdParameters :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (CommaSep (Param v_a2SQU a_a2SQV))
- Language.Python.DSL: fdReturnType :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Maybe ([Whitespace], Expr v_a2KCP a_a2KCQ))
+ Language.Python.DSL: fdReturnType :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Maybe ([Whitespace], Expr v_a2SQU a_a2SQV))
- Language.Python.DSL: fdRightParenSpaces :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) [Whitespace]
+ Language.Python.DSL: fdRightParenSpaces :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) [Whitespace]
- Language.Python.DSL: finallyBody :: forall v_a2OBq a_a2OBr v_a2OTS. Lens (Finally v_a2OBq a_a2OBr) (Finally v_a2OTS a_a2OBr) (Suite v_a2OBq a_a2OBr) (Suite v_a2OTS a_a2OBr)
+ Language.Python.DSL: finallyBody :: forall v_a2WPv a_a2WPw v_a2X7X. Lens (Finally v_a2WPv a_a2WPw) (Finally v_a2X7X a_a2WPw) (Suite v_a2WPv a_a2WPw) (Suite v_a2X7X a_a2WPw)
- Language.Python.DSL: finallyFinally :: forall v_a2OBq a_a2OBr. Lens' (Finally v_a2OBq a_a2OBr) [Whitespace]
+ Language.Python.DSL: finallyFinally :: forall v_a2WPv a_a2WPw. Lens' (Finally v_a2WPv a_a2WPw) [Whitespace]
- Language.Python.DSL: finallyIndents :: forall v_a2OBq a_a2OBr. Lens' (Finally v_a2OBq a_a2OBr) (Indents a_a2OBr)
+ Language.Python.DSL: finallyIndents :: forall v_a2WPv a_a2WPw. Lens' (Finally v_a2WPv a_a2WPw) (Indents a_a2WPw)
- Language.Python.DSL: ifAnn :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Ann a_a2NHj)
+ Language.Python.DSL: ifAnn :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Ann a_a2VVo)
- Language.Python.DSL: ifBody :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Suite v_a2NHi a_a2NHj)
+ Language.Python.DSL: ifBody :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Suite v_a2VVn a_a2VVo)
- Language.Python.DSL: ifCond :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Expr v_a2NHi a_a2NHj)
+ Language.Python.DSL: ifCond :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Expr v_a2VVn a_a2VVo)
- Language.Python.DSL: ifElifs :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) [Elif v_a2NHi a_a2NHj]
+ Language.Python.DSL: ifElifs :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) [Elif v_a2VVn a_a2VVo]
- Language.Python.DSL: ifElse :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Maybe (Else v_a2NHi a_a2NHj))
+ Language.Python.DSL: ifElse :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Maybe (Else v_a2VVn a_a2VVo))
- Language.Python.DSL: ifIf :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) [Whitespace]
+ Language.Python.DSL: ifIf :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) [Whitespace]
- Language.Python.DSL: ifIndents :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Indents a_a2NHj)
+ Language.Python.DSL: ifIndents :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Indents a_a2VVo)
- Language.Python.DSL: kpAnn :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Ann a_a2LOV)
+ Language.Python.DSL: kpAnn :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Ann a_a2U30)
- Language.Python.DSL: kpEquals :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) [Whitespace]
+ Language.Python.DSL: kpEquals :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) [Whitespace]
- Language.Python.DSL: kpExpr :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Expr v_a2LOU a_a2LOV)
+ Language.Python.DSL: kpExpr :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Expr v_a2U2Z a_a2U30)
- Language.Python.DSL: kpName :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Ident v_a2LOU a_a2LOV)
+ Language.Python.DSL: kpName :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Ident v_a2U2Z a_a2U30)
- Language.Python.DSL: kpType :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Maybe (Colon, Expr v_a2LOU a_a2LOV))
+ Language.Python.DSL: kpType :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Maybe (Colon, Expr v_a2U2Z a_a2U30))
- Language.Python.DSL: noneAnn :: forall v_a2RLO a_a2RLP v_a2RZS a_a2RZT. Lens (None v_a2RLO a_a2RLP) (None v_a2RZS a_a2RZT) (Ann a_a2RLP) (Ann a_a2RZT)
+ Language.Python.DSL: noneAnn :: forall v_a2ZZT a_a2ZZU v_a30dX a_a30dY. Lens (None v_a2ZZT a_a2ZZU) (None v_a30dX a_a30dY) (Ann a_a2ZZU) (Ann a_a30dY)
- Language.Python.DSL: noneWhitespace :: forall v_a2RLO a_a2RLP v_a2RZU. Lens (None v_a2RLO a_a2RLP) (None v_a2RZU a_a2RLP) [Whitespace] [Whitespace]
+ Language.Python.DSL: noneWhitespace :: forall v_a2ZZT a_a2ZZU v_a30dZ. Lens (None v_a2ZZT a_a2ZZU) (None v_a30dZ a_a2ZZU) [Whitespace] [Whitespace]
- Language.Python.DSL: ppAnn :: forall v_a2Mcu a_a2Mcv. Lens' (PositionalParam v_a2Mcu a_a2Mcv) (Ann a_a2Mcv)
+ Language.Python.DSL: ppAnn :: forall v_a2Uqz a_a2UqA. Lens' (PositionalParam v_a2Uqz a_a2UqA) (Ann a_a2UqA)
- Language.Python.DSL: ppName :: forall v_a2Mcu a_a2Mcv. Lens' (PositionalParam v_a2Mcu a_a2Mcv) (Ident v_a2Mcu a_a2Mcv)
+ Language.Python.DSL: ppName :: forall v_a2Uqz a_a2UqA. Lens' (PositionalParam v_a2Uqz a_a2UqA) (Ident v_a2Uqz a_a2UqA)
- Language.Python.DSL: ppType :: forall v_a2Mcu a_a2Mcv. Lens' (PositionalParam v_a2Mcu a_a2Mcv) (Maybe (Colon, Expr v_a2Mcu a_a2Mcv))
+ Language.Python.DSL: ppType :: forall v_a2Uqz a_a2UqA. Lens' (PositionalParam v_a2Uqz a_a2UqA) (Maybe (Colon, Expr v_a2Uqz a_a2UqA))
- Language.Python.DSL: teAnn :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Ann a_a2Pc1)
+ Language.Python.DSL: teAnn :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Ann a_a2Xq6)
- Language.Python.DSL: teBody :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Suite v_a2Pc0 a_a2Pc1)
+ Language.Python.DSL: teBody :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Suite v_a2Xq5 a_a2Xq6)
- Language.Python.DSL: teElse :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Maybe (Else v_a2Pc0 a_a2Pc1))
+ Language.Python.DSL: teElse :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Maybe (Else v_a2Xq5 a_a2Xq6))
- Language.Python.DSL: teExcepts :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (NonEmpty (Except v_a2Pc0 a_a2Pc1))
+ Language.Python.DSL: teExcepts :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (NonEmpty (Except v_a2Xq5 a_a2Xq6))
- Language.Python.DSL: teFinally :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Maybe (Finally v_a2Pc0 a_a2Pc1))
+ Language.Python.DSL: teFinally :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Maybe (Finally v_a2Xq5 a_a2Xq6))
- Language.Python.DSL: teIndents :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Indents a_a2Pc1)
+ Language.Python.DSL: teIndents :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Indents a_a2Xq6)
- Language.Python.DSL: teTry :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) [Whitespace]
+ Language.Python.DSL: teTry :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) [Whitespace]
- Language.Python.DSL: whileAnn :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Ann a_a2LsY)
+ Language.Python.DSL: whileAnn :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Ann a_a2TH3)
- Language.Python.DSL: whileBody :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Suite v_a2LsX a_a2LsY)
+ Language.Python.DSL: whileBody :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Suite v_a2TH2 a_a2TH3)
- Language.Python.DSL: whileCond :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Expr v_a2LsX a_a2LsY)
+ Language.Python.DSL: whileCond :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Expr v_a2TH2 a_a2TH3)
- Language.Python.DSL: whileIndents :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Indents a_a2LsY)
+ Language.Python.DSL: whileIndents :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Indents a_a2TH3)
- Language.Python.DSL: whileWhile :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) [Whitespace]
+ Language.Python.DSL: whileWhile :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) [Whitespace]
- Language.Python.DSL: withAnn :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Ann a_a2Qsc)
+ Language.Python.DSL: withAnn :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Ann a_a2YGh)
- Language.Python.DSL: withAsync :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Maybe (NonEmpty Whitespace))
+ Language.Python.DSL: withAsync :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Maybe (NonEmpty Whitespace))
- Language.Python.DSL: withBody :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Suite v_a2Qsb a_a2Qsc)
+ Language.Python.DSL: withBody :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Suite v_a2YGg a_a2YGh)
- Language.Python.DSL: withIndents :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Indents a_a2Qsc)
+ Language.Python.DSL: withIndents :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Indents a_a2YGh)
- Language.Python.DSL: withItems :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (CommaSep1 (WithItem v_a2Qsb a_a2Qsc))
+ Language.Python.DSL: withItems :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (CommaSep1 (WithItem v_a2YGg a_a2YGh))
- Language.Python.DSL: withWith :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) [Whitespace]
+ Language.Python.DSL: withWith :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) [Whitespace]
- Language.Python.Syntax.Statement: blockBlankLines :: forall v_a26s9 a_a26sa. Lens' (Block v_a26s9 a_a26sa) [(Blank a_a26sa, Newline)]
+ Language.Python.Syntax.Statement: blockBlankLines :: forall v_a2esu a_a2esv. Lens' (Block v_a2esu a_a2esv) [(Blank a_a2esv, Newline)]
- Language.Python.Syntax.Statement: blockHead :: forall v_a26s9 a_a26sa. Lens' (Block v_a26s9 a_a26sa) (Statement v_a26s9 a_a26sa)
+ Language.Python.Syntax.Statement: blockHead :: forall v_a2esu a_a2esv. Lens' (Block v_a2esu a_a2esv) (Statement v_a2esu a_a2esv)
- Language.Python.Syntax.Statement: blockTail :: forall v_a26s9 a_a26sa. Lens' (Block v_a26s9 a_a26sa) [Either (Blank a_a26sa, Newline) (Statement v_a26s9 a_a26sa)]
+ Language.Python.Syntax.Statement: blockTail :: forall v_a2esu a_a2esv. Lens' (Block v_a2esu a_a2esv) [Either (Blank a_a2esv, Newline) (Statement v_a2esu a_a2esv)]
- Language.Python.Syntax.Statement: exceptAsAnn :: forall v_a26rY a_a26rZ. Lens' (ExceptAs v_a26rY a_a26rZ) (Ann a_a26rZ)
+ Language.Python.Syntax.Statement: exceptAsAnn :: forall v_a2esj a_a2esk. Lens' (ExceptAs v_a2esj a_a2esk) (Ann a_a2esk)
- Language.Python.Syntax.Statement: exceptAsExpr :: forall v_a26rY a_a26rZ. Lens' (ExceptAs v_a26rY a_a26rZ) (Expr v_a26rY a_a26rZ)
+ Language.Python.Syntax.Statement: exceptAsExpr :: forall v_a2esj a_a2esk. Lens' (ExceptAs v_a2esj a_a2esk) (Expr v_a2esj a_a2esk)
- Language.Python.Syntax.Statement: exceptAsName :: forall v_a26rY a_a26rZ. Lens' (ExceptAs v_a26rY a_a26rZ) (Maybe ([Whitespace], Ident v_a26rY a_a26rZ))
+ Language.Python.Syntax.Statement: exceptAsName :: forall v_a2esj a_a2esk. Lens' (ExceptAs v_a2esj a_a2esk) (Maybe ([Whitespace], Ident v_a2esj a_a2esk))
- Language.Python.Syntax.Statement: withItemAnn :: forall v_a26rU a_a26rV. Lens' (WithItem v_a26rU a_a26rV) (Ann a_a26rV)
+ Language.Python.Syntax.Statement: withItemAnn :: forall v_a2esf a_a2esg. Lens' (WithItem v_a2esf a_a2esg) (Ann a_a2esg)
- Language.Python.Syntax.Statement: withItemBinder :: forall v_a26rU a_a26rV. Lens' (WithItem v_a26rU a_a26rV) (Maybe ([Whitespace], Expr v_a26rU a_a26rV))
+ Language.Python.Syntax.Statement: withItemBinder :: forall v_a2esf a_a2esg. Lens' (WithItem v_a2esf a_a2esg) (Maybe ([Whitespace], Expr v_a2esf a_a2esg))
- Language.Python.Syntax.Statement: withItemValue :: forall v_a26rU a_a26rV. Lens' (WithItem v_a26rU a_a26rV) (Expr v_a26rU a_a26rV)
+ Language.Python.Syntax.Statement: withItemValue :: forall v_a2esf a_a2esg. Lens' (WithItem v_a2esf a_a2esg) (Expr v_a2esf a_a2esg)
- Language.Python.Syntax.Strings: stringLiteralQuoteType :: forall a_aHO9. Lens' (StringLiteral a_aHO9) QuoteType
+ Language.Python.Syntax.Strings: stringLiteralQuoteType :: forall a_aOJV. Lens' (StringLiteral a_aOJV) QuoteType
- Language.Python.Syntax.Strings: stringLiteralStringType :: forall a_aHO9. Lens' (StringLiteral a_aHO9) StringType
+ Language.Python.Syntax.Strings: stringLiteralStringType :: forall a_aOJV. Lens' (StringLiteral a_aOJV) StringType
- Language.Python.Syntax.Strings: stringLiteralValue :: forall a_aHO9. Lens' (StringLiteral a_aHO9) [PyChar]
+ Language.Python.Syntax.Strings: stringLiteralValue :: forall a_aOJV. Lens' (StringLiteral a_aOJV) [PyChar]
- Language.Python.Syntax.Strings: stringLiteralWhitespace :: forall a_aHO9. Lens' (StringLiteral a_aHO9) [Whitespace]
+ Language.Python.Syntax.Strings: stringLiteralWhitespace :: forall a_aOJV. Lens' (StringLiteral a_aOJV) [Whitespace]
- Language.Python.Syntax.Types: callAnn :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) (Ann a_a2N4c)
+ Language.Python.Syntax.Types: callAnn :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) (Ann a_a2Vih)
- Language.Python.Syntax.Types: callArguments :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) (Maybe (CommaSep1' (Arg v_a2N4b a_a2N4c)))
+ Language.Python.Syntax.Types: callArguments :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) (Maybe (CommaSep1' (Arg v_a2Vig a_a2Vih)))
- Language.Python.Syntax.Types: callFunction :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) (Expr v_a2N4b a_a2N4c)
+ Language.Python.Syntax.Types: callFunction :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) (Expr v_a2Vig a_a2Vih)
- Language.Python.Syntax.Types: callLeftParen :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) [Whitespace]
+ Language.Python.Syntax.Types: callLeftParen :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) [Whitespace]
- Language.Python.Syntax.Types: callRightParen :: forall v_a2N4b a_a2N4c. Lens' (Call v_a2N4b a_a2N4c) [Whitespace]
+ Language.Python.Syntax.Types: callRightParen :: forall v_a2Vig a_a2Vih. Lens' (Call v_a2Vig a_a2Vih) [Whitespace]
- Language.Python.Syntax.Types: cdAnn :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Ann a_a2PY5)
+ Language.Python.Syntax.Types: cdAnn :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Ann a_a2Yca)
- Language.Python.Syntax.Types: cdArguments :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Maybe ([Whitespace], Maybe (CommaSep1' (Arg v_a2PY4 a_a2PY5)), [Whitespace]))
+ Language.Python.Syntax.Types: cdArguments :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Maybe ([Whitespace], Maybe (CommaSep1' (Arg v_a2Yc9 a_a2Yca)), [Whitespace]))
- Language.Python.Syntax.Types: cdBody :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Suite v_a2PY4 a_a2PY5)
+ Language.Python.Syntax.Types: cdBody :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Suite v_a2Yc9 a_a2Yca)
- Language.Python.Syntax.Types: cdClass :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (NonEmpty Whitespace)
+ Language.Python.Syntax.Types: cdClass :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (NonEmpty Whitespace)
- Language.Python.Syntax.Types: cdDecorators :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) [Decorator v_a2PY4 a_a2PY5]
+ Language.Python.Syntax.Types: cdDecorators :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) [Decorator v_a2Yc9 a_a2Yca]
- Language.Python.Syntax.Types: cdIndents :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Indents a_a2PY5)
+ Language.Python.Syntax.Types: cdIndents :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Indents a_a2Yca)
- Language.Python.Syntax.Types: cdName :: forall v_a2PY4 a_a2PY5. Lens' (ClassDef v_a2PY4 a_a2PY5) (Ident v_a2PY4 a_a2PY5)
+ Language.Python.Syntax.Types: cdName :: forall v_a2Yc9 a_a2Yca. Lens' (ClassDef v_a2Yc9 a_a2Yca) (Ident v_a2Yc9 a_a2Yca)
- Language.Python.Syntax.Types: elifBody :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) (Suite v_a2Noq a_a2Nor)
+ Language.Python.Syntax.Types: elifBody :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) (Suite v_a2VCv a_a2VCw)
- Language.Python.Syntax.Types: elifCond :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) (Expr v_a2Noq a_a2Nor)
+ Language.Python.Syntax.Types: elifCond :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) (Expr v_a2VCv a_a2VCw)
- Language.Python.Syntax.Types: elifElif :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) [Whitespace]
+ Language.Python.Syntax.Types: elifElif :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) [Whitespace]
- Language.Python.Syntax.Types: elifIndents :: forall v_a2Noq a_a2Nor. Lens' (Elif v_a2Noq a_a2Nor) (Indents a_a2Nor)
+ Language.Python.Syntax.Types: elifIndents :: forall v_a2VCv a_a2VCw. Lens' (Elif v_a2VCv a_a2VCw) (Indents a_a2VCw)
- Language.Python.Syntax.Types: elseBody :: forall v_a2L90 a_a2L91 v_a2Lsw. Lens (Else v_a2L90 a_a2L91) (Else v_a2Lsw a_a2L91) (Suite v_a2L90 a_a2L91) (Suite v_a2Lsw a_a2L91)
+ Language.Python.Syntax.Types: elseBody :: forall v_a2Tn5 a_a2Tn6 v_a2TGB. Lens (Else v_a2Tn5 a_a2Tn6) (Else v_a2TGB a_a2Tn6) (Suite v_a2Tn5 a_a2Tn6) (Suite v_a2TGB a_a2Tn6)
- Language.Python.Syntax.Types: elseElse :: forall v_a2L90 a_a2L91. Lens' (Else v_a2L90 a_a2L91) [Whitespace]
+ Language.Python.Syntax.Types: elseElse :: forall v_a2Tn5 a_a2Tn6. Lens' (Else v_a2Tn5 a_a2Tn6) [Whitespace]
- Language.Python.Syntax.Types: elseIndents :: forall v_a2L90 a_a2L91. Lens' (Else v_a2L90 a_a2L91) (Indents a_a2L91)
+ Language.Python.Syntax.Types: elseIndents :: forall v_a2Tn5 a_a2Tn6. Lens' (Else v_a2Tn5 a_a2Tn6) (Indents a_a2Tn6)
- Language.Python.Syntax.Types: exceptBody :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) (Suite v_a2OUh a_a2OUi)
+ Language.Python.Syntax.Types: exceptBody :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) (Suite v_a2X8m a_a2X8n)
- Language.Python.Syntax.Types: exceptExcept :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) [Whitespace]
+ Language.Python.Syntax.Types: exceptExcept :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) [Whitespace]
- Language.Python.Syntax.Types: exceptExceptAs :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) (Maybe (ExceptAs v_a2OUh a_a2OUi))
+ Language.Python.Syntax.Types: exceptExceptAs :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) (Maybe (ExceptAs v_a2X8m a_a2X8n))
- Language.Python.Syntax.Types: exceptIndents :: forall v_a2OUh a_a2OUi. Lens' (Except v_a2OUh a_a2OUi) (Indents a_a2OUi)
+ Language.Python.Syntax.Types: exceptIndents :: forall v_a2X8m a_a2X8n. Lens' (Except v_a2X8m a_a2X8n) (Indents a_a2X8n)
- Language.Python.Syntax.Types: fdAnn :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Ann a_a2KCQ)
+ Language.Python.Syntax.Types: fdAnn :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Ann a_a2SQV)
- Language.Python.Syntax.Types: fdAsync :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Maybe (NonEmpty Whitespace))
+ Language.Python.Syntax.Types: fdAsync :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Maybe (NonEmpty Whitespace))
- Language.Python.Syntax.Types: fdBody :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Suite v_a2KCP a_a2KCQ)
+ Language.Python.Syntax.Types: fdBody :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Suite v_a2SQU a_a2SQV)
- Language.Python.Syntax.Types: fdDecorators :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) [Decorator v_a2KCP a_a2KCQ]
+ Language.Python.Syntax.Types: fdDecorators :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) [Decorator v_a2SQU a_a2SQV]
- Language.Python.Syntax.Types: fdDefSpaces :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (NonEmpty Whitespace)
+ Language.Python.Syntax.Types: fdDefSpaces :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (NonEmpty Whitespace)
- Language.Python.Syntax.Types: fdIndents :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Indents a_a2KCQ)
+ Language.Python.Syntax.Types: fdIndents :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Indents a_a2SQV)
- Language.Python.Syntax.Types: fdLeftParenSpaces :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) [Whitespace]
+ Language.Python.Syntax.Types: fdLeftParenSpaces :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) [Whitespace]
- Language.Python.Syntax.Types: fdName :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Ident v_a2KCP a_a2KCQ)
+ Language.Python.Syntax.Types: fdName :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Ident v_a2SQU a_a2SQV)
- Language.Python.Syntax.Types: fdParameters :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (CommaSep (Param v_a2KCP a_a2KCQ))
+ Language.Python.Syntax.Types: fdParameters :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (CommaSep (Param v_a2SQU a_a2SQV))
- Language.Python.Syntax.Types: fdReturnType :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) (Maybe ([Whitespace], Expr v_a2KCP a_a2KCQ))
+ Language.Python.Syntax.Types: fdReturnType :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) (Maybe ([Whitespace], Expr v_a2SQU a_a2SQV))
- Language.Python.Syntax.Types: fdRightParenSpaces :: forall v_a2KCP a_a2KCQ. Lens' (Fundef v_a2KCP a_a2KCQ) [Whitespace]
+ Language.Python.Syntax.Types: fdRightParenSpaces :: forall v_a2SQU a_a2SQV. Lens' (Fundef v_a2SQU a_a2SQV) [Whitespace]
- Language.Python.Syntax.Types: finallyBody :: forall v_a2OBq a_a2OBr v_a2OTS. Lens (Finally v_a2OBq a_a2OBr) (Finally v_a2OTS a_a2OBr) (Suite v_a2OBq a_a2OBr) (Suite v_a2OTS a_a2OBr)
+ Language.Python.Syntax.Types: finallyBody :: forall v_a2WPv a_a2WPw v_a2X7X. Lens (Finally v_a2WPv a_a2WPw) (Finally v_a2X7X a_a2WPw) (Suite v_a2WPv a_a2WPw) (Suite v_a2X7X a_a2WPw)
- Language.Python.Syntax.Types: finallyFinally :: forall v_a2OBq a_a2OBr. Lens' (Finally v_a2OBq a_a2OBr) [Whitespace]
+ Language.Python.Syntax.Types: finallyFinally :: forall v_a2WPv a_a2WPw. Lens' (Finally v_a2WPv a_a2WPw) [Whitespace]
- Language.Python.Syntax.Types: finallyIndents :: forall v_a2OBq a_a2OBr. Lens' (Finally v_a2OBq a_a2OBr) (Indents a_a2OBr)
+ Language.Python.Syntax.Types: finallyIndents :: forall v_a2WPv a_a2WPw. Lens' (Finally v_a2WPv a_a2WPw) (Indents a_a2WPw)
- Language.Python.Syntax.Types: forAnn :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (Ann a_a2O6G)
+ Language.Python.Syntax.Types: forAnn :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (Ann a_a2WkL)
- Language.Python.Syntax.Types: forAsync :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (Maybe (NonEmpty Whitespace))
+ Language.Python.Syntax.Types: forAsync :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (Maybe (NonEmpty Whitespace))
- Language.Python.Syntax.Types: forBinder :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (Expr v_a2O6F a_a2O6G)
+ Language.Python.Syntax.Types: forBinder :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (Expr v_a2WkK a_a2WkL)
- Language.Python.Syntax.Types: forBody :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (Suite v_a2O6F a_a2O6G)
+ Language.Python.Syntax.Types: forBody :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (Suite v_a2WkK a_a2WkL)
- Language.Python.Syntax.Types: forCollection :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (CommaSep1' (Expr v_a2O6F a_a2O6G))
+ Language.Python.Syntax.Types: forCollection :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (CommaSep1' (Expr v_a2WkK a_a2WkL))
- Language.Python.Syntax.Types: forElse :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (Maybe (Else v_a2O6F a_a2O6G))
+ Language.Python.Syntax.Types: forElse :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (Maybe (Else v_a2WkK a_a2WkL))
- Language.Python.Syntax.Types: forFor :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) [Whitespace]
+ Language.Python.Syntax.Types: forFor :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) [Whitespace]
- Language.Python.Syntax.Types: forIn :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) [Whitespace]
+ Language.Python.Syntax.Types: forIn :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) [Whitespace]
- Language.Python.Syntax.Types: forIndents :: forall v_a2O6F a_a2O6G. Lens' (For v_a2O6F a_a2O6G) (Indents a_a2O6G)
+ Language.Python.Syntax.Types: forIndents :: forall v_a2WkK a_a2WkL. Lens' (For v_a2WkK a_a2WkL) (Indents a_a2WkL)
- Language.Python.Syntax.Types: ifAnn :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Ann a_a2NHj)
+ Language.Python.Syntax.Types: ifAnn :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Ann a_a2VVo)
- Language.Python.Syntax.Types: ifBody :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Suite v_a2NHi a_a2NHj)
+ Language.Python.Syntax.Types: ifBody :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Suite v_a2VVn a_a2VVo)
- Language.Python.Syntax.Types: ifCond :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Expr v_a2NHi a_a2NHj)
+ Language.Python.Syntax.Types: ifCond :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Expr v_a2VVn a_a2VVo)
- Language.Python.Syntax.Types: ifElifs :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) [Elif v_a2NHi a_a2NHj]
+ Language.Python.Syntax.Types: ifElifs :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) [Elif v_a2VVn a_a2VVo]
- Language.Python.Syntax.Types: ifElse :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Maybe (Else v_a2NHi a_a2NHj))
+ Language.Python.Syntax.Types: ifElse :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Maybe (Else v_a2VVn a_a2VVo))
- Language.Python.Syntax.Types: ifIf :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) [Whitespace]
+ Language.Python.Syntax.Types: ifIf :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) [Whitespace]
- Language.Python.Syntax.Types: ifIndents :: forall v_a2NHi a_a2NHj. Lens' (If v_a2NHi a_a2NHj) (Indents a_a2NHj)
+ Language.Python.Syntax.Types: ifIndents :: forall v_a2VVn a_a2VVo. Lens' (If v_a2VVn a_a2VVo) (Indents a_a2VVo)
- Language.Python.Syntax.Types: kpAnn :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Ann a_a2LOV)
+ Language.Python.Syntax.Types: kpAnn :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Ann a_a2U30)
- Language.Python.Syntax.Types: kpEquals :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) [Whitespace]
+ Language.Python.Syntax.Types: kpEquals :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) [Whitespace]
- Language.Python.Syntax.Types: kpExpr :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Expr v_a2LOU a_a2LOV)
+ Language.Python.Syntax.Types: kpExpr :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Expr v_a2U2Z a_a2U30)
- Language.Python.Syntax.Types: kpName :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Ident v_a2LOU a_a2LOV)
+ Language.Python.Syntax.Types: kpName :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Ident v_a2U2Z a_a2U30)
- Language.Python.Syntax.Types: kpType :: forall v_a2LOU a_a2LOV. Lens' (KeywordParam v_a2LOU a_a2LOV) (Maybe (Colon, Expr v_a2LOU a_a2LOV))
+ Language.Python.Syntax.Types: kpType :: forall v_a2U2Z a_a2U30. Lens' (KeywordParam v_a2U2Z a_a2U30) (Maybe (Colon, Expr v_a2U2Z a_a2U30))
- Language.Python.Syntax.Types: listAnn :: forall v_a2Rb2 a_a2Rb3. Lens' (List v_a2Rb2 a_a2Rb3) (Ann a_a2Rb3)
+ Language.Python.Syntax.Types: listAnn :: forall v_a2Zp7 a_a2Zp8. Lens' (List v_a2Zp7 a_a2Zp8) (Ann a_a2Zp8)
- Language.Python.Syntax.Types: listBody :: forall v_a2Rb2 a_a2Rb3 v_a2Rts. Lens (List v_a2Rb2 a_a2Rb3) (List v_a2Rts a_a2Rb3) (Maybe (CommaSep1' (ListItem v_a2Rb2 a_a2Rb3))) (Maybe (CommaSep1' (ListItem v_a2Rts a_a2Rb3)))
+ Language.Python.Syntax.Types: listBody :: forall v_a2Zp7 a_a2Zp8 v_a2ZHx. Lens (List v_a2Zp7 a_a2Zp8) (List v_a2ZHx a_a2Zp8) (Maybe (CommaSep1' (ListItem v_a2Zp7 a_a2Zp8))) (Maybe (CommaSep1' (ListItem v_a2ZHx a_a2Zp8)))
- Language.Python.Syntax.Types: listUnpackAnn :: forall v_a2Ru1 a_a2Ru2. Lens' (ListUnpack v_a2Ru1 a_a2Ru2) (Ann a_a2Ru2)
+ Language.Python.Syntax.Types: listUnpackAnn :: forall v_a2ZI6 a_a2ZI7. Lens' (ListUnpack v_a2ZI6 a_a2ZI7) (Ann a_a2ZI7)
- Language.Python.Syntax.Types: listUnpackParens :: forall v_a2Ru1 a_a2Ru2. Lens' (ListUnpack v_a2Ru1 a_a2Ru2) [([Whitespace], [Whitespace])]
+ Language.Python.Syntax.Types: listUnpackParens :: forall v_a2ZI6 a_a2ZI7. Lens' (ListUnpack v_a2ZI6 a_a2ZI7) [([Whitespace], [Whitespace])]
- Language.Python.Syntax.Types: listUnpackValue :: forall v_a2Ru1 a_a2Ru2 v_a2RLh. Lens (ListUnpack v_a2Ru1 a_a2Ru2) (ListUnpack v_a2RLh a_a2Ru2) (Expr v_a2Ru1 a_a2Ru2) (Expr v_a2RLh a_a2Ru2)
+ Language.Python.Syntax.Types: listUnpackValue :: forall v_a2ZI6 a_a2ZI7 v_a2ZZm. Lens (ListUnpack v_a2ZI6 a_a2ZI7) (ListUnpack v_a2ZZm a_a2ZI7) (Expr v_a2ZI6 a_a2ZI7) (Expr v_a2ZZm a_a2ZI7)
- Language.Python.Syntax.Types: listUnpackWhitespace :: forall v_a2Ru1 a_a2Ru2. Lens' (ListUnpack v_a2Ru1 a_a2Ru2) [Whitespace]
+ Language.Python.Syntax.Types: listUnpackWhitespace :: forall v_a2ZI6 a_a2ZI7. Lens' (ListUnpack v_a2ZI6 a_a2ZI7) [Whitespace]
- Language.Python.Syntax.Types: listWhitespaceLeft :: forall v_a2Rb2 a_a2Rb3. Lens' (List v_a2Rb2 a_a2Rb3) [Whitespace]
+ Language.Python.Syntax.Types: listWhitespaceLeft :: forall v_a2Zp7 a_a2Zp8. Lens' (List v_a2Zp7 a_a2Zp8) [Whitespace]
- Language.Python.Syntax.Types: listWhitespaceRight :: forall v_a2Rb2 a_a2Rb3. Lens' (List v_a2Rb2 a_a2Rb3) [Whitespace]
+ Language.Python.Syntax.Types: listWhitespaceRight :: forall v_a2Zp7 a_a2Zp8. Lens' (List v_a2Zp7 a_a2Zp8) [Whitespace]
- Language.Python.Syntax.Types: noneAnn :: forall v_a2RLO a_a2RLP v_a2RZS a_a2RZT. Lens (None v_a2RLO a_a2RLP) (None v_a2RZS a_a2RZT) (Ann a_a2RLP) (Ann a_a2RZT)
+ Language.Python.Syntax.Types: noneAnn :: forall v_a2ZZT a_a2ZZU v_a30dX a_a30dY. Lens (None v_a2ZZT a_a2ZZU) (None v_a30dX a_a30dY) (Ann a_a2ZZU) (Ann a_a30dY)
- Language.Python.Syntax.Types: noneWhitespace :: forall v_a2RLO a_a2RLP v_a2RZU. Lens (None v_a2RLO a_a2RLP) (None v_a2RZU a_a2RLP) [Whitespace] [Whitespace]
+ Language.Python.Syntax.Types: noneWhitespace :: forall v_a2ZZT a_a2ZZU v_a30dZ. Lens (None v_a2ZZT a_a2ZZU) (None v_a30dZ a_a2ZZU) [Whitespace] [Whitespace]
- Language.Python.Syntax.Types: ppAnn :: forall v_a2Mcu a_a2Mcv. Lens' (PositionalParam v_a2Mcu a_a2Mcv) (Ann a_a2Mcv)
+ Language.Python.Syntax.Types: ppAnn :: forall v_a2Uqz a_a2UqA. Lens' (PositionalParam v_a2Uqz a_a2UqA) (Ann a_a2UqA)
- Language.Python.Syntax.Types: ppName :: forall v_a2Mcu a_a2Mcv. Lens' (PositionalParam v_a2Mcu a_a2Mcv) (Ident v_a2Mcu a_a2Mcv)
+ Language.Python.Syntax.Types: ppName :: forall v_a2Uqz a_a2UqA. Lens' (PositionalParam v_a2Uqz a_a2UqA) (Ident v_a2Uqz a_a2UqA)
- Language.Python.Syntax.Types: ppType :: forall v_a2Mcu a_a2Mcv. Lens' (PositionalParam v_a2Mcu a_a2Mcv) (Maybe (Colon, Expr v_a2Mcu a_a2Mcv))
+ Language.Python.Syntax.Types: ppType :: forall v_a2Uqz a_a2UqA. Lens' (PositionalParam v_a2Uqz a_a2UqA) (Maybe (Colon, Expr v_a2Uqz a_a2UqA))
- Language.Python.Syntax.Types: spAnn :: forall v_a2Mw0 a_a2Mw1. Lens' (StarParam v_a2Mw0 a_a2Mw1) (Ann a_a2Mw1)
+ Language.Python.Syntax.Types: spAnn :: forall v_a2UK5 a_a2UK6. Lens' (StarParam v_a2UK5 a_a2UK6) (Ann a_a2UK6)
- Language.Python.Syntax.Types: spName :: forall v_a2Mw0 a_a2Mw1. Lens' (StarParam v_a2Mw0 a_a2Mw1) (Ident v_a2Mw0 a_a2Mw1)
+ Language.Python.Syntax.Types: spName :: forall v_a2UK5 a_a2UK6. Lens' (StarParam v_a2UK5 a_a2UK6) (Ident v_a2UK5 a_a2UK6)
- Language.Python.Syntax.Types: spType :: forall v_a2Mw0 a_a2Mw1. Lens' (StarParam v_a2Mw0 a_a2Mw1) (Maybe (Colon, Expr v_a2Mw0 a_a2Mw1))
+ Language.Python.Syntax.Types: spType :: forall v_a2UK5 a_a2UK6. Lens' (StarParam v_a2UK5 a_a2UK6) (Maybe (Colon, Expr v_a2UK5 a_a2UK6))
- Language.Python.Syntax.Types: spWhitespace :: forall v_a2Mw0 a_a2Mw1. Lens' (StarParam v_a2Mw0 a_a2Mw1) [Whitespace]
+ Language.Python.Syntax.Types: spWhitespace :: forall v_a2UK5 a_a2UK6. Lens' (StarParam v_a2UK5 a_a2UK6) [Whitespace]
- Language.Python.Syntax.Types: teAnn :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Ann a_a2Pc1)
+ Language.Python.Syntax.Types: teAnn :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Ann a_a2Xq6)
- Language.Python.Syntax.Types: teBody :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Suite v_a2Pc0 a_a2Pc1)
+ Language.Python.Syntax.Types: teBody :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Suite v_a2Xq5 a_a2Xq6)
- Language.Python.Syntax.Types: teElse :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Maybe (Else v_a2Pc0 a_a2Pc1))
+ Language.Python.Syntax.Types: teElse :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Maybe (Else v_a2Xq5 a_a2Xq6))
- Language.Python.Syntax.Types: teExcepts :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (NonEmpty (Except v_a2Pc0 a_a2Pc1))
+ Language.Python.Syntax.Types: teExcepts :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (NonEmpty (Except v_a2Xq5 a_a2Xq6))
- Language.Python.Syntax.Types: teFinally :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Maybe (Finally v_a2Pc0 a_a2Pc1))
+ Language.Python.Syntax.Types: teFinally :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Maybe (Finally v_a2Xq5 a_a2Xq6))
- Language.Python.Syntax.Types: teIndents :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) (Indents a_a2Pc1)
+ Language.Python.Syntax.Types: teIndents :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) (Indents a_a2Xq6)
- Language.Python.Syntax.Types: teTry :: forall v_a2Pc0 a_a2Pc1. Lens' (TryExcept v_a2Pc0 a_a2Pc1) [Whitespace]
+ Language.Python.Syntax.Types: teTry :: forall v_a2Xq5 a_a2Xq6. Lens' (TryExcept v_a2Xq5 a_a2Xq6) [Whitespace]
- Language.Python.Syntax.Types: tfAnn :: forall v_a2PC1 a_a2PC2. Lens' (TryFinally v_a2PC1 a_a2PC2) (Ann a_a2PC2)
+ Language.Python.Syntax.Types: tfAnn :: forall v_a2XQ6 a_a2XQ7. Lens' (TryFinally v_a2XQ6 a_a2XQ7) (Ann a_a2XQ7)
- Language.Python.Syntax.Types: tfBody :: forall v_a2PC1 a_a2PC2. Lens' (TryFinally v_a2PC1 a_a2PC2) (Suite v_a2PC1 a_a2PC2)
+ Language.Python.Syntax.Types: tfBody :: forall v_a2XQ6 a_a2XQ7. Lens' (TryFinally v_a2XQ6 a_a2XQ7) (Suite v_a2XQ6 a_a2XQ7)
- Language.Python.Syntax.Types: tfFinally :: forall v_a2PC1 a_a2PC2. Lens' (TryFinally v_a2PC1 a_a2PC2) (Finally v_a2PC1 a_a2PC2)
+ Language.Python.Syntax.Types: tfFinally :: forall v_a2XQ6 a_a2XQ7. Lens' (TryFinally v_a2XQ6 a_a2XQ7) (Finally v_a2XQ6 a_a2XQ7)
- Language.Python.Syntax.Types: tfIndents :: forall v_a2PC1 a_a2PC2. Lens' (TryFinally v_a2PC1 a_a2PC2) (Indents a_a2PC2)
+ Language.Python.Syntax.Types: tfIndents :: forall v_a2XQ6 a_a2XQ7. Lens' (TryFinally v_a2XQ6 a_a2XQ7) (Indents a_a2XQ7)
- Language.Python.Syntax.Types: tfTry :: forall v_a2PC1 a_a2PC2. Lens' (TryFinally v_a2PC1 a_a2PC2) [Whitespace]
+ Language.Python.Syntax.Types: tfTry :: forall v_a2XQ6 a_a2XQ7. Lens' (TryFinally v_a2XQ6 a_a2XQ7) [Whitespace]
- Language.Python.Syntax.Types: tupleAnn :: forall v_a2QQo a_a2QQp. Lens' (Tuple v_a2QQo a_a2QQp) (Ann a_a2QQp)
+ Language.Python.Syntax.Types: tupleAnn :: forall v_a2Z4t a_a2Z4u. Lens' (Tuple v_a2Z4t a_a2Z4u) (Ann a_a2Z4u)
- Language.Python.Syntax.Types: tupleComma :: forall v_a2QQo a_a2QQp. Lens' (Tuple v_a2QQo a_a2QQp) Comma
+ Language.Python.Syntax.Types: tupleComma :: forall v_a2Z4t a_a2Z4u. Lens' (Tuple v_a2Z4t a_a2Z4u) Comma
- Language.Python.Syntax.Types: tupleHead :: forall v_a2QQo a_a2QQp. Lens' (Tuple v_a2QQo a_a2QQp) (TupleItem v_a2QQo a_a2QQp)
+ Language.Python.Syntax.Types: tupleHead :: forall v_a2Z4t a_a2Z4u. Lens' (Tuple v_a2Z4t a_a2Z4u) (TupleItem v_a2Z4t a_a2Z4u)
- Language.Python.Syntax.Types: tupleTail :: forall v_a2QQo a_a2QQp. Lens' (Tuple v_a2QQo a_a2QQp) (Maybe (CommaSep1' (TupleItem v_a2QQo a_a2QQp)))
+ Language.Python.Syntax.Types: tupleTail :: forall v_a2Z4t a_a2Z4u. Lens' (Tuple v_a2Z4t a_a2Z4u) (Maybe (CommaSep1' (TupleItem v_a2Z4t a_a2Z4u)))
- Language.Python.Syntax.Types: tupleUnpackAnn :: forall v_a2S0b a_a2S0c. Lens' (TupleUnpack v_a2S0b a_a2S0c) (Ann a_a2S0c)
+ Language.Python.Syntax.Types: tupleUnpackAnn :: forall v_a30eg a_a30eh. Lens' (TupleUnpack v_a30eg a_a30eh) (Ann a_a30eh)
- Language.Python.Syntax.Types: tupleUnpackParens :: forall v_a2S0b a_a2S0c. Lens' (TupleUnpack v_a2S0b a_a2S0c) [([Whitespace], [Whitespace])]
+ Language.Python.Syntax.Types: tupleUnpackParens :: forall v_a30eg a_a30eh. Lens' (TupleUnpack v_a30eg a_a30eh) [([Whitespace], [Whitespace])]
- Language.Python.Syntax.Types: tupleUnpackValue :: forall v_a2S0b a_a2S0c v_a2Sgv. Lens (TupleUnpack v_a2S0b a_a2S0c) (TupleUnpack v_a2Sgv a_a2S0c) (Expr v_a2S0b a_a2S0c) (Expr v_a2Sgv a_a2S0c)
+ Language.Python.Syntax.Types: tupleUnpackValue :: forall v_a30eg a_a30eh v_a30uA. Lens (TupleUnpack v_a30eg a_a30eh) (TupleUnpack v_a30uA a_a30eh) (Expr v_a30eg a_a30eh) (Expr v_a30uA a_a30eh)
- Language.Python.Syntax.Types: tupleUnpackWhitespace :: forall v_a2S0b a_a2S0c. Lens' (TupleUnpack v_a2S0b a_a2S0c) [Whitespace]
+ Language.Python.Syntax.Types: tupleUnpackWhitespace :: forall v_a30eg a_a30eh. Lens' (TupleUnpack v_a30eg a_a30eh) [Whitespace]
- Language.Python.Syntax.Types: uspAnn :: forall v_a2MPR a_a2MPS v_a2N3R a_a2N3S. Lens (UnnamedStarParam v_a2MPR a_a2MPS) (UnnamedStarParam v_a2N3R a_a2N3S) (Ann a_a2MPS) (Ann a_a2N3S)
+ Language.Python.Syntax.Types: uspAnn :: forall v_a2V3W a_a2V3X v_a2VhW a_a2VhX. Lens (UnnamedStarParam v_a2V3W a_a2V3X) (UnnamedStarParam v_a2VhW a_a2VhX) (Ann a_a2V3X) (Ann a_a2VhX)
- Language.Python.Syntax.Types: uspWhitespace :: forall v_a2MPR a_a2MPS v_a2N3T. Lens (UnnamedStarParam v_a2MPR a_a2MPS) (UnnamedStarParam v_a2N3T a_a2MPS) [Whitespace] [Whitespace]
+ Language.Python.Syntax.Types: uspWhitespace :: forall v_a2V3W a_a2V3X v_a2VhY. Lens (UnnamedStarParam v_a2V3W a_a2V3X) (UnnamedStarParam v_a2VhY a_a2V3X) [Whitespace] [Whitespace]
- Language.Python.Syntax.Types: whileAnn :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Ann a_a2LsY)
+ Language.Python.Syntax.Types: whileAnn :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Ann a_a2TH3)
- Language.Python.Syntax.Types: whileBody :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Suite v_a2LsX a_a2LsY)
+ Language.Python.Syntax.Types: whileBody :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Suite v_a2TH2 a_a2TH3)
- Language.Python.Syntax.Types: whileCond :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Expr v_a2LsX a_a2LsY)
+ Language.Python.Syntax.Types: whileCond :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Expr v_a2TH2 a_a2TH3)
- Language.Python.Syntax.Types: whileElse :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Maybe (Else v_a2LsX a_a2LsY))
+ Language.Python.Syntax.Types: whileElse :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Maybe (Else v_a2TH2 a_a2TH3))
- Language.Python.Syntax.Types: whileIndents :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) (Indents a_a2LsY)
+ Language.Python.Syntax.Types: whileIndents :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) (Indents a_a2TH3)
- Language.Python.Syntax.Types: whileWhile :: forall v_a2LsX a_a2LsY. Lens' (While v_a2LsX a_a2LsY) [Whitespace]
+ Language.Python.Syntax.Types: whileWhile :: forall v_a2TH2 a_a2TH3. Lens' (While v_a2TH2 a_a2TH3) [Whitespace]
- Language.Python.Syntax.Types: withAnn :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Ann a_a2Qsc)
+ Language.Python.Syntax.Types: withAnn :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Ann a_a2YGh)
- Language.Python.Syntax.Types: withAsync :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Maybe (NonEmpty Whitespace))
+ Language.Python.Syntax.Types: withAsync :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Maybe (NonEmpty Whitespace))
- Language.Python.Syntax.Types: withBody :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Suite v_a2Qsb a_a2Qsc)
+ Language.Python.Syntax.Types: withBody :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Suite v_a2YGg a_a2YGh)
- Language.Python.Syntax.Types: withIndents :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (Indents a_a2Qsc)
+ Language.Python.Syntax.Types: withIndents :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (Indents a_a2YGh)
- Language.Python.Syntax.Types: withItems :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) (CommaSep1 (WithItem v_a2Qsb a_a2Qsc))
+ Language.Python.Syntax.Types: withItems :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) (CommaSep1 (WithItem v_a2YGg a_a2YGh))
- Language.Python.Syntax.Types: withWith :: forall v_a2Qsb a_a2Qsc. Lens' (With v_a2Qsb a_a2Qsc) [Whitespace]
+ Language.Python.Syntax.Types: withWith :: forall v_a2YGg a_a2YGh. Lens' (With v_a2YGg a_a2YGh) [Whitespace]
- Language.Python.Syntax.Whitespace: indentsAnn :: forall a_aCu9 a_aDy8. Lens (Indents a_aCu9) (Indents a_aDy8) (Ann a_aCu9) (Ann a_aDy8)
+ Language.Python.Syntax.Whitespace: indentsAnn :: forall a_aJpj a_aKtU. Lens (Indents a_aJpj) (Indents a_aKtU) (Ann a_aJpj) (Ann a_aKtU)
- Language.Python.Syntax.Whitespace: indentsValue :: forall a_aCu9. Lens' (Indents a_aCu9) [Indent]
+ Language.Python.Syntax.Whitespace: indentsValue :: forall a_aJpj. Lens' (Indents a_aJpj) [Indent]
- Language.Python.Validate.Scope: extendScope :: Setter' (ScopeContext ann) (Map ByteString ann) -> [(ann, String)] -> ValidateScope ann e ()
+ Language.Python.Validate.Scope: extendScope :: [Ident v ann] -> ValidateScope ann e ()
- Language.Python.Validate.Scope: inScope :: MonadState (ScopeContext ann) m => String -> m (Maybe (Binding, ann))
+ Language.Python.Validate.Scope: inScope :: String -> ValidateScope ann e Bool
- Language.Python.Validate.Scope: runValidateScope' :: ScopeContext ann -> ValidateScope ann e a -> Validation (NonEmpty e) a
+ Language.Python.Validate.Scope: runValidateScope' :: Seq Level -> Map ByteString (Entry ann) -> ValidateScope ann e a -> Validation (NonEmpty e) a
- Language.Python.Validate.Scope: type ValidateScope ann e = ValidateM (NonEmpty e) (State (ScopeContext ann))
+ Language.Python.Validate.Scope: type ValidateScope ann e = ValidateM (NonEmpty e) (ReaderT (Seq Level) (State (Map ByteString (Entry ann))))
- Language.Python.Validate.Scope.Error: _BadShadowing :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa (Ident ('[] :: [Type]) a_a5SvC)
+ Language.Python.Validate.Scope.Error: _BadShadowing :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV (Ident ('[] :: [Type]) a_a61v6)
- Language.Python.Validate.Scope.Error: _DeletedIdent :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa a_a5SvC
+ Language.Python.Validate.Scope.Error: _DeletedIdent :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV a_a61v6
- Language.Python.Validate.Scope.Error: _FoundDynamic :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa (a_a5SvC, Ident ('[] :: [Type]) a_a5SvC)
+ Language.Python.Validate.Scope.Error: _FoundDynamic :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV (a_a61v6, Ident ('[] :: [Type]) a_a61v6)
- Language.Python.Validate.Scope.Error: _FoundGlobal :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa a_a5SvC
+ Language.Python.Validate.Scope.Error: _FoundGlobal :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV a_a61v6
- Language.Python.Validate.Scope.Error: _FoundNonlocal :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa a_a5SvC
+ Language.Python.Validate.Scope.Error: _FoundNonlocal :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV a_a61v6
- Language.Python.Validate.Scope.Error: _NotInScope :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa (Ident ('[] :: [Type]) a_a5SvC)
+ Language.Python.Validate.Scope.Error: _NotInScope :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV (Ident ('[] :: [Type]) a_a61v6)
- Language.Python.Validate.Scope.Error: _ScopeError :: AsScopeError r_a5SBa a_a5SvC => Prism' r_a5SBa (ScopeError a_a5SvC)
+ Language.Python.Validate.Scope.Error: _ScopeError :: AsScopeError r_a61BV a_a61v6 => Prism' r_a61BV (ScopeError a_a61v6)
- Language.Python.Validate.Scope.Error: class AsScopeError r_a5SBa a_a5SvC | r_a5SBa -> a_a5SvC
+ Language.Python.Validate.Scope.Error: class AsScopeError r_a61BV a_a61v6 | r_a61BV -> a_a61v6
- Language.Python.Validate.Syntax.Error: _AsyncForOutsideCoroutine :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _AsyncForOutsideCoroutine :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _AsyncWithOutsideCoroutine :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _AsyncWithOutsideCoroutine :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _AwaitInsideComprehension :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _AwaitInsideComprehension :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _AwaitOutsideCoroutine :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _AwaitOutsideCoroutine :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _BadCharacter :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, String)
+ Language.Python.Validate.Syntax.Error: _BadCharacter :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, String)
- Language.Python.Validate.Syntax.Error: _BreakOutsideLoop :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _BreakOutsideLoop :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _Can'tJoinStringAndBytes :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _Can'tJoinStringAndBytes :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _CannotAssignTo :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, Expr ('[] :: [Type]) a_a644s)
+ Language.Python.Validate.Syntax.Error: _CannotAssignTo :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, Expr ('[] :: [Type]) a_a64Lm)
- Language.Python.Validate.Syntax.Error: _CannotAugAssignTo :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, Expr ('[] :: [Type]) a_a644s)
+ Language.Python.Validate.Syntax.Error: _CannotAugAssignTo :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, Expr ('[] :: [Type]) a_a64Lm)
- Language.Python.Validate.Syntax.Error: _CannotDelete :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, Expr ('[] :: [Type]) a_a644s)
+ Language.Python.Validate.Syntax.Error: _CannotDelete :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, Expr ('[] :: [Type]) a_a64Lm)
- Language.Python.Validate.Syntax.Error: _ContinueInsideFinally :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _ContinueInsideFinally :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _ContinueOutsideLoop :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _ContinueOutsideLoop :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _DefaultExceptMustBeLast :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _DefaultExceptMustBeLast :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _DuplicateArgument :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, String)
+ Language.Python.Validate.Syntax.Error: _DuplicateArgument :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, String)
- Language.Python.Validate.Syntax.Error: _EmptyIdentifier :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _EmptyIdentifier :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _IdentifierReservedWord :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, String)
+ Language.Python.Validate.Syntax.Error: _IdentifierReservedWord :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, String)
- Language.Python.Validate.Syntax.Error: _InvalidDictUnpacking :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _InvalidDictUnpacking :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _InvalidSetUnpacking :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _InvalidSetUnpacking :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _MalformedDecorator :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _MalformedDecorator :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _ManyStarredParams :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _ManyStarredParams :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _ManyStarredTargets :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _ManyStarredTargets :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _NoBindingNonlocal :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (Ident ('[] :: [Type]) a_a644s)
+ Language.Python.Validate.Syntax.Error: _NoBindingNonlocal :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (Ident ('[] :: [Type]) a_a64Lm)
- Language.Python.Validate.Syntax.Error: _NoKeywordsAfterEmptyStarArg :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _NoKeywordsAfterEmptyStarArg :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _NonAsciiInBytes :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, Char)
+ Language.Python.Validate.Syntax.Error: _NonAsciiInBytes :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, Char)
- Language.Python.Validate.Syntax.Error: _NonlocalOutsideFunction :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _NonlocalOutsideFunction :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _NullByte :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _NullByte :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _ParameterMarkedGlobal :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, String)
+ Language.Python.Validate.Syntax.Error: _ParameterMarkedGlobal :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, String)
- Language.Python.Validate.Syntax.Error: _ParametersNonlocal :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, [String])
+ Language.Python.Validate.Syntax.Error: _ParametersNonlocal :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, [String])
- Language.Python.Validate.Syntax.Error: _PositionalAfterKeywordArg :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, Expr ('[] :: [Type]) a_a644s)
+ Language.Python.Validate.Syntax.Error: _PositionalAfterKeywordArg :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, Expr ('[] :: [Type]) a_a64Lm)
- Language.Python.Validate.Syntax.Error: _PositionalAfterKeywordParam :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, String)
+ Language.Python.Validate.Syntax.Error: _PositionalAfterKeywordParam :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, String)
- Language.Python.Validate.Syntax.Error: _PositionalAfterKeywordUnpacking :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, Expr ('[] :: [Type]) a_a644s)
+ Language.Python.Validate.Syntax.Error: _PositionalAfterKeywordUnpacking :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, Expr ('[] :: [Type]) a_a64Lm)
- Language.Python.Validate.Syntax.Error: _ReturnOutsideFunction :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _ReturnOutsideFunction :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _SyntaxError :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (SyntaxError a_a644s)
+ Language.Python.Validate.Syntax.Error: _SyntaxError :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (SyntaxError a_a64Lm)
- Language.Python.Validate.Syntax.Error: _TypedParamInLambda :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _TypedParamInLambda :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _UnexpectedComment :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _UnexpectedComment :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _UnexpectedDoubleStarParam :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 (a_a644s, String)
+ Language.Python.Validate.Syntax.Error: _UnexpectedDoubleStarParam :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 (a_a64Lm, String)
- Language.Python.Validate.Syntax.Error: _UnexpectedNewline :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _UnexpectedNewline :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _WildcardImportInDefinition :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _WildcardImportInDefinition :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _YieldFromInsideCoroutine :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _YieldFromInsideCoroutine :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _YieldInsideCoroutine :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _YieldInsideCoroutine :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: _YieldOutsideGenerator :: AsSyntaxError r_a64u8 a_a644s => Prism' r_a64u8 a_a644s
+ Language.Python.Validate.Syntax.Error: _YieldOutsideGenerator :: AsSyntaxError r_a65b2 a_a64Lm => Prism' r_a65b2 a_a64Lm
- Language.Python.Validate.Syntax.Error: class AsSyntaxError r_a64u8 a_a644s | r_a64u8 -> a_a644s
+ Language.Python.Validate.Syntax.Error: class AsSyntaxError r_a65b2 a_a64Lm | r_a65b2 -> a_a64Lm
Files
- ChangeLog.md +34/−0
- hpython.cabal +3/−3
- src/Data/Validate/Monadic.hs +8/−3
- src/Language/Python/Syntax/Ann.hs +3/−0
- src/Language/Python/Syntax/CommaSep.hs +17/−0
- src/Language/Python/Syntax/Statement.hs +24/−2
- src/Language/Python/Validate/Scope.hs +204/−200
- src/Language/Python/Validate/Syntax.hs +15/−15
- test/Scope.hs +44/−0
ChangeLog.md view
@@ -1,6 +1,40 @@ # Revision history for hpython +## 0.3++* Changed the sigature of `Data.Validation.Monadic.bindVM` to have the same form as+ `(>>=)`+ +* Added `HasAnn` instance for `Language.Python.Syntax.Ann.Ann`++* Reworked scope checking (`Language.Python.Validate.Scope`)++ Instead of the old triplicate `ScopeContext`, we now keep a single context+ and mark each entry with its 'occurrence path'. This is much simpler to manage,+ but just as expressive as the old version.+ +* Improved scope checking of compound statements++ Compound statements like+ + ```+ if ...:+ x = 1+ else:+ y = x+ ```+ + were succeeding in scope checking because the variables from each block were+ added to the scope sequentially. Now, the multiple blocks are checked in the+ same scope, and their final scopes are combined at the end of the process.+ +* Added `Foldable1`/`Traversable1` instances for `CommaSep1` and `CommaSep1'`++* Added `HasStatements1` with instances for `Statement` and `Block`+ ## 0.2++*2019-01-10* * Improved Plated instance for exprs
hpython.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: hpython-version: 0.2+version: 0.3 synopsis: Python language tools description: `hpython` provides an abstract syntax tree for Python 3.5, along with a parser,@@ -64,7 +64,7 @@ tested-with: GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4- , GHC == 8.6.1+ , GHC == 8.6.4 source-repository head@@ -136,7 +136,7 @@ , deriving-compat >=0.4 && <0.6 , semigroupoids >=5.2.2 && <5.4 , text >=1.2 && <1.3- , these >=0.7.4 && <0.8+ , these >=0.7.4 && <0.9 , validation >= 1 && < 1.1 , parsers-megaparsec >=0.1 && <0.2 hs-source-dirs: src
src/Data/Validate/Monadic.hs view
@@ -38,9 +38,14 @@ runValidateM :: ValidateM e m a -> m (Validation e a) runValidateM = getCompose . unValidateM --- | Bind into a 'ValidateM'. Note that the first parameter is @m a@, not @ValidateM e m a@.-bindVM :: Monad m => m a -> (a -> ValidateM e m b) -> ValidateM e m b-bindVM m f = ValidateM . Compose $ m >>= getCompose . unValidateM . f+-- | Bind into a 'ValidateM'+bindVM :: Monad m => ValidateM e m a -> (a -> ValidateM e m b) -> ValidateM e m b+bindVM m f =+ ValidateM . Compose $ do+ res <- getCompose $ unValidateM m+ case res of+ Failure err -> pure $ Failure err+ Success a -> getCompose . unValidateM $ f a -- | Lift into a succeeding validation liftVM0 :: (Functor m, Semigroup e) => m a -> ValidateM e m a
src/Language/Python/Syntax/Ann.hs view
@@ -34,6 +34,9 @@ class HasAnn s where annot :: Lens' (s a) (Ann a) +instance HasAnn Ann where+ annot = id+ -- | Get an annotation and forget the wrapper annot_ :: HasAnn s => Lens' (s a) a annot_ = annot._Wrapped
src/Language/Python/Syntax/CommaSep.hs view
@@ -29,9 +29,12 @@ import Data.Coerce (coerce) import Data.Function ((&)) import Data.Functor (($>))+import Data.Functor.Apply ((<.>)) import Data.List.NonEmpty (NonEmpty(..)) import Data.Maybe (fromMaybe) import Data.Semigroup (Semigroup(..))+import Data.Semigroup.Foldable (Foldable1(..))+import Data.Semigroup.Traversable (Traversable1(..), foldMap1Default) import GHC.Generics (Generic) import Language.Python.Syntax.Punctuation@@ -94,6 +97,13 @@ | CommaSepMany1 a Comma (CommaSep1 a) deriving (Eq, Show, Functor, Foldable, Traversable, Generic) +instance Foldable1 CommaSep1 where; foldMap1 = foldMap1Default+instance Traversable1 CommaSep1 where+ traverse1 f = go+ where+ go (CommaSepOne1 a) = CommaSepOne1 <$> f a+ go (CommaSepMany1 a b c) = (\a' c' -> CommaSepMany1 a' b c') <$> f a <.> go c+ -- | Get the first element of a 'CommaSep1' commaSep1Head :: CommaSep1 a -> a commaSep1Head (CommaSepOne1 a) = a@@ -141,6 +151,13 @@ = CommaSepOne1' a (Maybe Comma) | CommaSepMany1' a Comma (CommaSep1' a) deriving (Eq, Show, Functor, Foldable, Traversable, Generic)++instance Foldable1 CommaSep1' where; foldMap1 = foldMap1Default+instance Traversable1 CommaSep1' where+ traverse1 f = go+ where+ go (CommaSepOne1' a b) = (\a' -> CommaSepOne1' a' b) <$> f a+ go (CommaSepMany1' a b c) = (\a' c' -> CommaSepMany1' a' b c') <$> f a <.> go c -- | Iso to unpack a 'CommaSep' _CommaSep
src/Language/Python/Syntax/Statement.hs view
@@ -21,6 +21,7 @@ Statement(..) -- ** Traversals , HasStatements(..)+ , HasStatements1(..) -- * Decorators , Decorator(..) -- ** Compound statements@@ -62,14 +63,15 @@ import Control.Lens.Prism (_Right) import Control.Lens.Setter ((.~), over, mapped) import Control.Lens.TH (makeLenses)-import Control.Lens.Traversal (Traversal, traverseOf)+import Control.Lens.Traversal (Traversal, Traversal1, traverseOf) import Control.Lens.Tuple (_1, _2, _3, _4) import Data.Bifoldable (bifoldMap) import Data.Bifunctor (bimap) import Data.Bitraversable (bitraverse) import Data.Coerce (coerce)+import Data.Functor.Apply ((<.>)) import Data.Generics.Product.Typed (typed)-import Data.List.NonEmpty (NonEmpty)+import Data.List.NonEmpty (NonEmpty(..)) import Data.Maybe (isNothing) import Data.Monoid ((<>)) import GHC.Generics (Generic)@@ -104,6 +106,9 @@ class HasStatements s where _Statements :: Traversal (s v a) (s '[] a) (Statement v a) (Statement '[] a) +class HasStatements s => HasStatements1 s where+ _Statements1 :: Traversal1 (s v a) (s '[] a) (Statement v a) (Statement '[] a)+ -- | A 'Block' is an indented multi-line chunk of code, forming part of a -- 'Suite'. data Block (v :: [*]) a@@ -186,6 +191,20 @@ _Statements f (Block a b c) = Block a <$> f b <*> (traverse._Right) f c +instance HasStatements1 Block where+ _Statements1 f (Block a l m) = uncurry (Block a) <$> go l m+ where+ go b [] = (\b' -> (b', [])) <$> f b+ go b (Left c:cs) =+ (\(b', cs') -> (b', Left c:cs')) <$>+ go b cs+ go b (Right c:cs) =+ (,) <$>+ f b <.>+ fmap+ (\(c', cs') -> Right c' : cs')+ (go c cs)+ instance HasStatements Suite where _Statements _ (SuiteOne a b c) = pure $ SuiteOne a b (c ^. unvalidated) _Statements f (SuiteMany a b c d e) = SuiteMany a b c d <$> _Statements f e@@ -211,6 +230,9 @@ instance HasStatements Statement where _Statements = id++instance HasStatements1 Statement where+ _Statements1 = id instance HasExprs SmallStatement where _Exprs f (MkSmallStatement s ss a b c) =
src/Language/Python/Validate/Scope.hs view
@@ -1,10 +1,11 @@ {-# language DataKinds, TypeOperators #-}-{-# language GeneralizedNewtypeDeriving #-}-{-# language TemplateHaskell, TypeFamilies, FlexibleInstances, MultiParamTypeClasses #-}+{-# language DeriveFunctor #-} {-# language FlexibleContexts #-} {-# language RankNTypes #-} {-# language LambdaCase #-}+{-# language OverloadedLists #-} {-# language ScopedTypeVariables, TypeApplications #-}+{-# language MultiParamTypeClasses #-} {-| Module : Language.Python.Validate.Scope@@ -25,15 +26,15 @@ , validateExprScope -- * Miscellany -- ** Extra types- , ScopeContext(..), scGlobalScope, scLocalScope, scImmediateScope- , runValidateScope'- , initialScopeContext- , Binding(..)+ , Level(..), Entry(..) -- ** Extra functions+ , runValidateScope'+ , definitionScope+ , controlScope , inScope+ , lookupScope+ , localScope , extendScope- , locallyOver- , locallyExtendOver -- ** Validation functions , validateArgScope , validateAssignExprScope@@ -56,34 +57,34 @@ import Data.Validation -import Control.Arrow ((&&&))-import Control.Applicative ((<|>)) import Control.Lens.Cons (snoc) import Control.Lens.Fold ((^..), toListOf, folded)-import Control.Lens.Getter ((^.), view, to, getting, use)-import Control.Lens.Lens (Lens')+import Control.Lens.Getter ((^.), to, getting) import Control.Lens.Plated (cosmos) import Control.Lens.Prism (_Right, _Just) import Control.Lens.Review ((#))-import Control.Lens.Setter ((%~), (.~), Setter', mapped, over)-import Control.Lens.TH (makeLenses)+import Control.Lens.Setter (mapped, over) import Control.Lens.Tuple (_2, _3) import Control.Lens.Traversal (traverseOf)-import Control.Monad.State (MonadState, State, evalState, modify)+import Control.Monad.State (State, evalState, modify, get, put)+import Control.Monad.Reader (ReaderT, runReaderT, ask, local) import Data.Bitraversable (bitraverse) import Data.ByteString (ByteString) import Data.Coerce (coerce)-import Data.Foldable (traverse_)-import Data.Functor.Compose (Compose(..))+import Data.Foldable (toList, traverse_) import Data.List.NonEmpty (NonEmpty(..)) import Data.Map.Strict (Map)+import Data.Maybe (isJust)+import Data.Sequence ((|>), Seq) import Data.String (fromString) import Data.Type.Set (Nub)-import Data.Validate.Monadic (ValidateM(..), runValidateM, bindVM, liftVM0, errorVM1)+import Data.Validate.Monadic+ (ValidateM(..), runValidateM, bindVM, liftVM0, liftVM1, errorVM1) import Unsafe.Coerce (unsafeCoerce) import qualified Data.List.NonEmpty as NonEmpty import qualified Data.Map.Strict as Map+import Data.Sequence as Seq import Language.Python.Optics import Language.Python.Optics.Validated (unvalidated)@@ -96,87 +97,67 @@ data Scope -data Binding = Clean | Dirty- deriving (Eq, Ord, Show)--data ScopeContext a- = ScopeContext- { _scGlobalScope :: !(Map ByteString a)- , _scLocalScope :: !(Map ByteString a)- , _scImmediateScope :: !(Map ByteString a)- }+data Level+ = Toplevel+ | Definition+ | Control deriving (Eq, Show)-makeLenses ''ScopeContext -initialScopeContext :: ScopeContext a-initialScopeContext = ScopeContext Map.empty Map.empty Map.empty+data Entry a+ = Entry+ { _entryValue :: a+ , _entryPath :: !(Seq Level)+ } deriving (Eq, Show, Functor) -type ValidateScope ann e = ValidateM (NonEmpty e) (State (ScopeContext ann))+type ValidateScope ann e+ = ValidateM+ (NonEmpty e)+ (ReaderT (Seq Level) (State (Map ByteString (Entry ann)))) runValidateScope :: ValidateScope ann e a -> Validation (NonEmpty e) a-runValidateScope = runValidateScope' initialScopeContext+runValidateScope = runValidateScope' [Toplevel] mempty -runValidateScope' :: ScopeContext ann -> ValidateScope ann e a -> Validation (NonEmpty e) a-runValidateScope' s = flip evalState s . runValidateM+runValidateScope' ::+ Seq Level {- ^ Path -} ->+ Map ByteString (Entry ann) {- ^ Context -} ->+ ValidateScope ann e a {- ^ Validation action -} ->+ Validation (NonEmpty e) a+runValidateScope' path s = flip evalState s . flip runReaderT path . runValidateM -extendScope- :: Setter' (ScopeContext ann) (Map ByteString ann)- -> [(ann, String)]- -> ValidateScope ann e ()-extendScope l s =- liftVM0 $ do- gs <- use scGlobalScope- let t = buildMap gs Map.empty- modify (over l (t `unionL`))- where- buildMap gs t =- foldr- (\(ann, a) b ->- let- a' = fromString a- in- if Map.member a' gs- then b- else Map.insert a' ann b)- t- s+localScope ::+ (Map ByteString (Entry ann) -> Map ByteString (Entry ann)) ->+ ValidateScope ann e a ->+ ValidateScope ann e a+localScope f m =+ liftVM0 get `bindVM` \s ->+ liftVM0 (modify f) *>+ m <* liftVM0 (put s) -locallyOver- :: Lens' (ScopeContext ann) b- -> (b -> b)- -> ValidateScope ann e a- -> ValidateScope ann e a-locallyOver l f m =- ValidateM . Compose $ do- before <- use l- modify (l %~ f)- getCompose (unValidateM m) <* modify (l .~ before)+-- | Run a validation action for a definition block+definitionScope :: ValidateScope ann e a -> ValidateScope ann e a+definitionScope = liftVM1 (local (|> Definition)) . localScope id -locallyExtendOver- :: Lens' (ScopeContext ann) (Map ByteString ann)- -> [(ann, String)]- -> ValidateScope ann e a- -> ValidateScope ann e a-locallyExtendOver l s m = locallyOver l id $ extendScope l s *> m+-- | Run a validation action for a flow control block+controlScope :: ValidateScope ann e a -> ValidateScope ann e a+controlScope = liftVM1 (local (|> Control)) -inScope- :: MonadState (ScopeContext ann) m- => String- -> m (Maybe (Binding, ann))-inScope s = do- gs <- use scGlobalScope- ls <- use scLocalScope- is <- use scImmediateScope- let- s' = fromString s- inls = Map.lookup s' ls- ings = Map.lookup s' gs- pure $- ((,) Clean <$> Map.lookup s' is) <|>- (ings *> ((,) Clean <$> inls)) <|>- ((,) Clean <$> ings) <|>- ((,) Dirty <$> inls)+-- | Add some entries to the context, using the current depth and level+extendScope :: [Ident v ann] -> ValidateScope ann e ()+extendScope entries =+ liftVM0 ask `bindVM` \path ->+ liftVM0 . modify $ \scope ->+ foldr+ (\ident ->+ Map.insert (fromString $ _identValue ident) (Entry (ident ^. annot_) path))+ scope+ entries +inScope :: String -> ValidateScope ann e Bool+inScope = fmap isJust . lookupScope++lookupScope :: String -> ValidateScope ann e (Maybe (Entry ann))+lookupScope s = Map.lookup (fromString s) <$> liftVM0 get + validateExceptAsScope :: AsScopeError e a => ExceptAs v a@@ -202,122 +183,147 @@ (\d' -> Decorator a b c d' e f g) <$> validateExprScope d +parallel2 ::+ ValidateScope a e x ->+ ValidateScope a e y ->+ ValidateScope a e (x, y)+parallel2 a b =+ liftVM0 get `bindVM` \st ->+ ((,) <$>+ ((,) <$ liftVM0 (put st) <*> a <*> liftVM0 get) <*>+ ((,) <$ liftVM0 (put st) <*> b <*> liftVM0 get)) `bindVM`+ \((ares, ast), (bres, bst)) ->+ (ares, bres) <$+ liftVM0+ (put $+ Map.unionWith+ (\e1 e2 ->+ if Seq.length (_entryPath e1) < Seq.length (_entryPath e2)+ then e2+ else e1)+ ast+ bst)++parallelList ::+ (x -> ValidateScope a e y) ->+ [x] ->+ ValidateScope a e [y]+parallelList _ [] = pure []+parallelList f (x:xs) = uncurry (:) <$> parallel2 (f x) (parallelList f xs)++parallelNonEmpty ::+ (x -> ValidateScope a e y) ->+ NonEmpty x ->+ ValidateScope a e (NonEmpty y)+parallelNonEmpty f (x:|xs) = uncurry (:|) <$> parallel2 (f x) (parallelList f xs)++parallel3 ::+ ValidateScope a e x1 ->+ ValidateScope a e x2 ->+ ValidateScope a e x3 ->+ ValidateScope a e (x1, x2, x3)+parallel3 a b c = (\(a', (b', c')) -> (a', b', c')) <$> parallel2 a (parallel2 b c)++parallel4 ::+ ValidateScope a e x1 ->+ ValidateScope a e x2 ->+ ValidateScope a e x3 ->+ ValidateScope a e x4 ->+ ValidateScope a e (x1, x2, x3, x4)+parallel4 a b c d =+ (\(a', (b', c', d')) -> (a', b', c', d')) <$> parallel2 a (parallel3 b c d)+ validateCompoundStatementScope :: forall e v a . AsScopeError e a => CompoundStatement v a -> ValidateScope a e (CompoundStatement (Nub (Scope ': v)) a) validateCompoundStatementScope (Fundef a decos idnts asyncWs ws1 name ws2 params ws3 mty s) =- (locallyOver scLocalScope (const Map.empty) $- locallyOver scImmediateScope (const Map.empty) $- (\decos' -> Fundef a decos' idnts asyncWs ws1 (coerce name) ws2) <$>- traverse validateDecoratorScope decos <*>- traverse validateParamScope params <*>- pure ws3 <*>- traverseOf (traverse._2) validateExprScope mty <*>- locallyExtendOver- scGlobalScope- ((view annot_ &&& _identValue) name :- toListOf (folded.getting paramName.to (view annot_ &&& _identValue)) params)- (validateSuiteScope s)) <*- extendScope scLocalScope [(view annot_ &&& _identValue) name] <*- extendScope scImmediateScope [(view annot_ &&& _identValue) name]+ (\decos' -> Fundef a decos' idnts asyncWs ws1 (coerce name) ws2) <$>+ traverse validateDecoratorScope decos <*>+ traverse validateParamScope params <*>+ pure ws3 <*>+ traverseOf (traverse._2) validateExprScope mty <*>+ definitionScope+ (extendScope (name : toListOf (folded.getting paramName) params) *>+ validateSuiteScope s) <*+ extendScope [name] validateCompoundStatementScope (If idnts a ws1 e b elifs melse) =- use scLocalScope `bindVM` (\ls ->- use scImmediateScope `bindVM` (\is ->- locallyOver scGlobalScope (`unionR` unionR ls is) $- locallyOver scImmediateScope (const Map.empty)- (If idnts a ws1 <$>- validateExprScope e <*>- validateSuiteScope b <*>- traverse- (\(a, b, c, d) ->- (\c' -> (,,,) a b c') <$>- validateExprScope c <*>- validateSuiteScope d)- elifs <*>- traverseOf (traverse._3) validateSuiteScope melse)))+ (\e' (b', elifs', melse') -> If idnts a ws1 e' b' elifs' melse') <$>+ validateExprScope e <*>+ parallel3+ (controlScope $ validateSuiteScope b)+ (parallelList+ (\(a, b, c, d) ->+ (,,,) a b <$>+ validateExprScope c <*>+ controlScope (validateSuiteScope d))+ elifs)+ (traverseOf (traverse._3) (controlScope . validateSuiteScope) melse) validateCompoundStatementScope (While idnts a ws1 e b els) =- use scLocalScope `bindVM` (\ls ->- use scImmediateScope `bindVM` (\is ->- locallyOver scGlobalScope (`unionR` unionR ls is) $- locallyOver scImmediateScope (const Map.empty)- (While idnts a ws1 <$>- validateExprScope e <*>- validateSuiteScope b <*>- traverseOf (traverse._3) validateSuiteScope els)))+ While idnts a ws1 <$>+ validateExprScope e <*>+ controlScope (validateSuiteScope b) <*>+ traverseOf (traverse._3) (controlScope . validateSuiteScope) els validateCompoundStatementScope (TryExcept idnts a b e f k l) =- use scLocalScope `bindVM` (\ls ->- use scImmediateScope `bindVM` (\is ->- locallyOver scGlobalScope (`unionR` unionR ls is) $- locallyOver scImmediateScope (const Map.empty)- (TryExcept idnts a b <$>- validateSuiteScope e <*>- traverse+ (\(e', f', k', l') -> TryExcept idnts a b e' f' k' l') <$>+ parallel4+ (controlScope $ validateSuiteScope e)+ (parallelNonEmpty (\(idnts, ws, g, h) ->- (,,,) idnts ws <$>- traverse validateExceptAsScope g <*>- locallyExtendOver- scGlobalScope- (toListOf (folded.exceptAsName._Just._2.to (view annot_ &&& _identValue)) g)- (validateSuiteScope h))- f <*>- traverseOf (traverse._3) validateSuiteScope k <*>- traverseOf (traverse._3) validateSuiteScope l)))+ (,,,) idnts ws <$>+ traverse validateExceptAsScope g <*>+ controlScope+ (extendScope (toListOf (folded.exceptAsName._Just._2) g) *>+ validateSuiteScope h))+ f)+ (traverseOf (traverse._3) (controlScope . validateSuiteScope) k)+ (traverseOf (traverse._3) (controlScope . validateSuiteScope) l) validateCompoundStatementScope (TryFinally idnts a b e idnts2 f i) =- use scLocalScope `bindVM` (\ls ->- use scImmediateScope `bindVM` (\is ->- locallyOver scGlobalScope (`unionR` unionR ls is) $- locallyOver scImmediateScope (const Map.empty)- (TryFinally idnts a b <$>- validateSuiteScope e <*>- pure idnts2 <*>- pure f <*>- validateSuiteScope i)))+ (\(e', i') -> TryFinally idnts a b e' idnts2 f i') <$>+ parallel2+ (controlScope $ validateSuiteScope e)+ (controlScope $ validateSuiteScope i) validateCompoundStatementScope (For idnts a asyncWs b c d e h i) =- use scLocalScope `bindVM` (\ls ->- use scImmediateScope `bindVM` (\is ->- locallyOver scGlobalScope (`unionR` unionR ls is) $- locallyOver scImmediateScope (const Map.empty) $- For @(Nub (Scope ': v)) idnts a asyncWs b <$>+ let+ cs = c ^.. unvalidated.cosmos._Ident+ in+ (\c' d' e' (h', i') -> For idnts a asyncWs b c' d' e' h' i') <$> (unsafeCoerce c <$ traverse (\s ->- inScope (s ^. identValue) `bindVM` \res ->- maybe (pure ()) (\_ -> errorVM1 (_BadShadowing # coerce s)) res)- (c ^.. unvalidated.cosmos._Ident)) <*>+ inScope (s ^. identValue) `bindVM` \res ->+ if res then errorVM1 (_BadShadowing # coerce s) else pure ())+ cs) <*> pure d <*> traverse validateExprScope e <*>- (let- ls = c ^.. unvalidated.cosmos._Ident.to (view annot_ &&& _identValue)- in- extendScope scLocalScope ls *>- extendScope scImmediateScope ls *>- validateSuiteScope h) <*>- traverseOf (traverse._3) validateSuiteScope i))+ parallel2+ (controlScope $+ extendScope (toList cs) *>+ validateSuiteScope h)+ (traverseOf (traverse._3) (controlScope . validateSuiteScope) i) validateCompoundStatementScope (ClassDef a decos idnts b c d g) =- (\decos' -> ClassDef @(Nub (Scope ': v)) a decos' idnts b (coerce c)) <$>+ (\decos' -> ClassDef a decos' idnts b (coerce c)) <$> traverse validateDecoratorScope decos <*> traverseOf (traverse._2.traverse.traverse) validateArgScope d <*>- validateSuiteScope g <*- extendScope scImmediateScope [c ^. to (view annot_ &&& _identValue)]+ definitionScope (validateSuiteScope g) <*+ extendScope [c] validateCompoundStatementScope (With a b asyncWs c d e) = let names = d ^.. folded.unvalidated.to _withItemBinder.folded._2.- assignTargets.to (view annot_ &&& _identValue)+ assignTargets in- With @(Nub (Scope ': v)) a b asyncWs c <$>+ With a b asyncWs c <$> traverse (\(WithItem a b c) -> WithItem @(Nub (Scope ': v)) a <$> validateExprScope b <*> traverseOf (traverse._2) validateAssignExprScope c) d <*- extendScope scLocalScope names <*- extendScope scImmediateScope names <*>- validateSuiteScope e+ extendScope names <*>+ controlScope (validateSuiteScope e) validateSimpleStatementScope :: AsScopeError e a@@ -338,18 +344,11 @@ validateSimpleStatementScope (Return a ws e) = Return a ws <$> traverse validateExprScope e validateSimpleStatementScope (Expr a e) = Expr a <$> validateExprScope e validateSimpleStatementScope (Assign a l rs) =- let- ls =- (l : (snd <$> NonEmpty.init rs)) ^..- folded.unvalidated.assignTargets.to (view annot_ &&& _identValue)- in Assign a <$> validateAssignExprScope l <*> ((\a b -> case a of; [] -> b :| []; a : as -> a :| snoc as b) <$> traverseOf (traverse._2) validateAssignExprScope (NonEmpty.init rs) <*>- (\(ws, b) -> (,) ws <$> validateExprScope b) (NonEmpty.last rs)) <*- extendScope scLocalScope ls <*- extendScope scImmediateScope ls+ (\(ws, b) -> (,) ws <$> validateExprScope b) (NonEmpty.last rs)) validateSimpleStatementScope (AugAssign a l aa r) = (\l' -> AugAssign a l' aa) <$> validateExprScope l <*>@@ -391,12 +390,15 @@ => Ident v a -> ValidateScope a e (Ident (Nub (Scope ': v)) a) validateIdentScope i =- inScope (_identValue i) `bindVM`- \context ->- case context of- Just (Clean, _) -> pure $ coerce i- Just (Dirty, ann)-> errorVM1 (_FoundDynamic # (ann, i ^. unvalidated))- Nothing -> errorVM1 (_NotInScope # (i ^. unvalidated))+ lookupScope (_identValue i) `bindVM` \res ->+ liftVM0 ask `bindVM` \curPath ->+ case res of+ Nothing -> errorVM1 (_NotInScope # (i ^. unvalidated))+ Just (Entry ann path) ->+ coerce i <$+ if Seq.length curPath < Seq.length path+ then errorVM1 (_FoundDynamic # (ann, i ^. unvalidated))+ else pure () validateArgScope :: AsScopeError e a@@ -446,11 +448,11 @@ -> Comprehension ex v a -> ValidateScope a e (Comprehension ex (Nub (Scope ': v)) a) validateComprehensionScope f (Comprehension a b c d) =- locallyOver scGlobalScope id $- (\c' d' b' -> Comprehension a b' c' d') <$>- validateCompForScope c <*>- traverse (bitraverse validateCompForScope validateCompIfScope) d <*>- f b+ controlScope $+ (\c' d' b' -> Comprehension a b' c' d') <$>+ validateCompForScope c <*>+ traverse (bitraverse validateCompForScope validateCompIfScope) d <*>+ f b where validateCompForScope :: AsScopeError e a@@ -460,8 +462,7 @@ (\c' -> CompFor a b c' d) <$> validateAssignExprScope c <*> validateExprScope e <*- extendScope scGlobalScope- (c ^.. unvalidated.assignTargets.to (view annot_ &&& _identValue))+ extendScope (c ^.. unvalidated.assignTargets) validateCompIfScope :: AsScopeError e a@@ -502,6 +503,16 @@ where tupleItem (TupleItem a b) = TupleItem a <$> validateAssignExprScope b tupleItem (TupleUnpack a b c d) = TupleUnpack a b c <$> validateAssignExprScope d+validateAssignExprScope (Ident a (MkIdent b c d)) =+ lookupScope c `bindVM` \res ->+ liftVM0 ask `bindVM` \curPath ->+ Ident a (MkIdent b c d) <$+ case res of+ Nothing -> extendScope [MkIdent b c d]+ Just (Entry _ path)->+ if Seq.length curPath < Seq.length path+ then extendScope [MkIdent b c d]+ else pure () validateAssignExprScope e@Unit{} = pure $ unsafeCoerce e validateAssignExprScope e@Lambda{} = pure $ unsafeCoerce e validateAssignExprScope e@Yield{} = pure $ unsafeCoerce e@@ -511,7 +522,6 @@ validateAssignExprScope e@Call{} = pure $ unsafeCoerce e validateAssignExprScope e@UnOp{} = pure $ unsafeCoerce e validateAssignExprScope e@BinOp{} = pure $ unsafeCoerce e-validateAssignExprScope e@Ident{} = pure $ unsafeCoerce e validateAssignExprScope e@None{} = pure $ unsafeCoerce e validateAssignExprScope e@Ellipsis{} = pure $ unsafeCoerce e validateAssignExprScope e@Int{} = pure $ unsafeCoerce e@@ -668,9 +678,3 @@ ModuleStatement <$> validateStatementScope a <*> validateModuleScope b--unionL :: Ord k => Map k v -> Map k v -> Map k v-unionL = Map.unionWith const--unionR :: Ord k => Map k v -> Map k v -> Map k v-unionR = Map.unionWith (const id)
src/Language/Python/Validate/Syntax.hs view
@@ -212,7 +212,7 @@ | not (all isAscii name) = errorVM1 (_BadCharacter # (getAnn a, name)) | null name = errorVM1 (_EmptyIdentifier # getAnn a) | otherwise =- bindVM (view inFunction) $ \fi ->+ bindVM (liftVM0 $ view inFunction) $ \fi -> let reserved = reservedWords <>@@ -230,7 +230,7 @@ -> f Whitespace -> ValidateSyntax e (f Whitespace) validateWhitespace ann ws =- ask `bindVM` \ctxt ->+ liftVM0 ask `bindVM` \ctxt -> if _inParens ctxt then pure ws else if@@ -492,7 +492,7 @@ validateExprSyntax (Yield a b c) = Yield a <$> validateWhitespace (getAnn a) b <*- (ask `bindVM` \ctxt ->+ (liftVM0 ask `bindVM` \ctxt -> case _inFunction ctxt of Nothing | _inGenerator ctxt -> pure ()@@ -506,7 +506,7 @@ YieldFrom a <$> validateWhitespace (getAnn a) b <*> validateWhitespace (getAnn a) c <*- (ask `bindVM` \ctxt ->+ (liftVM0 ask `bindVM` \ctxt -> case _inFunction ctxt of Nothing | _inGenerator ctxt -> pure ()@@ -574,7 +574,7 @@ validateExprSyntax (Generator a comp) = Generator a <$> validateComprehensionSyntax validateExprSyntax comp validateExprSyntax (Await a ws expr) =- bindVM ask $ \ctxt ->+ bindVM (liftVM0 ask) $ \ctxt -> Await a <$> validateWhitespace (getAnn a) ws <* (if not $ fromMaybe False (ctxt ^? inFunction._Just.asyncFunction)@@ -792,7 +792,7 @@ (local $ (inClass .~ True) . (inFunction .~ Nothing)) (validateSuiteSyntax g) validateCompoundStatementSyntax (For a idnts asyncWs b c d e h i) =- bindVM ask $ \ctxt ->+ bindVM (liftVM0 ask) $ \ctxt -> For a idnts <$ (if isJust asyncWs && not (fromMaybe False $ ctxt ^? inFunction._Just.asyncFunction) then errorVM1 (_AsyncForOutsideCoroutine # getAnn a)@@ -812,7 +812,7 @@ validateSuiteSyntax w) i validateCompoundStatementSyntax (With a b asyncWs c d e) =- bindVM ask $ \ctxt ->+ bindVM (liftVM0 ask) $ \ctxt -> With a b <$ (if isJust asyncWs && not (fromMaybe False $ ctxt ^? inFunction._Just.asyncFunction) then errorVM1 (_AsyncWithOutsideCoroutine # getAnn a)@@ -872,7 +872,7 @@ => ImportTargets v a -> ValidateSyntax e (ImportTargets (Nub (Syntax ': v)) a) validateImportTargetsSyntax (ImportAll a ws) =- bindVM ask $ \ctxt ->+ bindVM (liftVM0 ask) $ \ctxt -> if ctxt ^. inClass || has (inFunction._Just) ctxt then errorVM1 $ _WildcardImportInDefinition # getAnn a else ImportAll a <$> validateWhitespace (getAnn a) ws@@ -943,7 +943,7 @@ c) f validateSimpleStatementSyntax (Return a ws expr) =- ask `bindVM` \sctxt ->+ liftVM0 ask `bindVM` \sctxt -> case _inFunction sctxt of Just{} -> Return a <$>@@ -954,7 +954,7 @@ Expr a <$> validateExprSyntax expr validateSimpleStatementSyntax (Assign a lvalue rs) =- ask `bindVM` \sctxt ->+ liftVM0 ask `bindVM` \sctxt -> let assigns = if isJust (_inFunction sctxt)@@ -990,14 +990,14 @@ Pass a <$> validateWhitespace (getAnn a) ws validateSimpleStatementSyntax (Break a ws) = Break a <$- (ask `bindVM` \sctxt ->+ (liftVM0 ask `bindVM` \sctxt -> if _inLoop sctxt then pure () else errorVM1 (_BreakOutsideLoop # getAnn a)) <*> validateWhitespace (getAnn a) ws validateSimpleStatementSyntax (Continue a ws) = Continue a <$- (ask `bindVM` \sctxt ->+ (liftVM0 ask `bindVM` \sctxt -> (if _inLoop sctxt then pure () else errorVM1 (_ContinueOutsideLoop # getAnn a)) *>@@ -1006,7 +1006,7 @@ else pure ())) <*> validateWhitespace (getAnn a) ws validateSimpleStatementSyntax (Global a ws ids) =- ask `bindVM` \ctx ->+ liftVM0 ask `bindVM` \ctx -> let params = ctx ^.. inFunction.folded.functionParams.folded in@@ -1022,8 +1022,8 @@ validateIdentSyntax i) ids validateSimpleStatementSyntax (Nonlocal a ws ids) =- ask `bindVM` \sctxt ->- get `bindVM` \nls ->+ liftVM0 ask `bindVM` \sctxt ->+ liftVM0 get `bindVM` \nls -> (case deleteFirstsBy' (\a -> (==) (a ^. unvalidated.identValue)) (ids ^.. folded.unvalidated) nls of [] -> pure () ids -> traverse_ (\e -> errorVM1 (_NoBindingNonlocal # e)) ids) *>
test/Scope.hs view
@@ -191,3 +191,47 @@ res <- fullyValidate st annotateShow res res === Failure (BadShadowing (MkIdent (Ann ()) "x" [Space]) :| [])++prop_scope_12 :: Property+prop_scope_12 =+ withTests 1 . property $ do+ let+ st =+ _If #+ (if_ none_ [line_ (var_ "x" .= 2)] &+ else_ [line_ (var_ "y" .= var_ "x")])+ res <- fullyValidate st+ annotateShow res+ res === Failure (NotInScope (MkIdent (Ann ()) "x" []) :| [])++prop_scope_13 :: Property+prop_scope_13 =+ withTests 1 . property $ do+ let+ st =+ _Fundef #+ def_ "test" []+ [ line_ $+ if_ none_ [line_ (var_ "x" .= 1)] &+ else_ [line_ (var_ "y" .= 2)]+ , line_ $ var_ "x"+ ]+ res <- fullyValidate st+ annotateShow res+ res === Failure (FoundDynamic () (MkIdent (Ann ()) "x" []) :| [])++prop_scope_14 :: Property+prop_scope_14 =+ withTests 1 . property $ do+ let+ st =+ _Fundef #+ def_ "test" []+ [ line_ $+ if_ none_ [line_ (var_ "x" .= 1)] &+ else_ [line_ (var_ "y" .= 2)]+ , line_ $ var_ "y"+ ]+ res <- fullyValidate st+ annotateShow res+ res === Failure (FoundDynamic () (MkIdent (Ann ()) "y" []) :| [])