Copyright | (C) CSIRO 2017-2019 |
---|---|
License | BSD3 |
Maintainer | Isaac Elliott <isaace71295@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
This module only exists as our current best solution to decoupling parts of the concrete syntax from abstract syntax. You won't need to care about its existence and hopefully it will be deleted soon.
Documentation
class AsIRError s a | s -> a where #
_InvalidUnpacking :: Prism' s a #
Instances
AsIRError (ParseError a) a # | |
Defined in Language.Python.Parse.Error _InvalidUnpacking :: Prism' (ParseError a) a # |
InvalidUnpacking a | Unpacking ( |
fromIRError :: AsIRError s a => IRError a -> s #
data SmallStatement a #
MkSmallStatement (SimpleStatement a) [(Semicolon a, SimpleStatement a)] (Maybe (Semicolon a)) (Maybe (Comment a)) (Maybe Newline) |
Instances
Instances
Functor Statement # | |
Foldable Statement # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Statement m -> m # foldMap :: Monoid m => (a -> m) -> Statement a -> m # foldr :: (a -> b -> b) -> b -> Statement a -> b # foldr' :: (a -> b -> b) -> b -> Statement a -> b # foldl :: (b -> a -> b) -> b -> Statement a -> b # foldl' :: (b -> a -> b) -> b -> Statement a -> b # foldr1 :: (a -> a -> a) -> Statement a -> a # foldl1 :: (a -> a -> a) -> Statement a -> a # toList :: Statement a -> [a] # length :: Statement a -> Int # elem :: Eq a => a -> Statement a -> Bool # maximum :: Ord a => Statement a -> a # minimum :: Ord a => Statement a -> a # | |
Traversable Statement # | |
Defined in Language.Python.Internal.Syntax.IR | |
Eq a => Eq (Statement a) # | |
Show a => Show (Statement a) # | |
data CompoundStatement a #
Instances
data SimpleStatement a #
Return a [Whitespace] (Maybe (Expr a)) | |
Expr a (Expr a) | |
Assign a (Expr a) (NonEmpty (Equals, Expr a)) | |
AugAssign a (Expr a) (AugAssign a) (Expr a) | |
Pass a [Whitespace] | |
Break a [Whitespace] | |
Continue a [Whitespace] | |
Global a (NonEmpty Whitespace) (CommaSep1 (Ident '[] a)) | |
Nonlocal a (NonEmpty Whitespace) (CommaSep1 (Ident '[] a)) | |
Del a [Whitespace] (CommaSep1' (Expr a)) | |
Import a (NonEmpty Whitespace) (CommaSep1 (ImportAs ModuleName '[] a)) | |
From a [Whitespace] (RelativeModuleName '[] a) [Whitespace] (ImportTargets '[] a) | |
Raise a [Whitespace] (Maybe (Expr a, Maybe ([Whitespace], Expr a))) | |
Assert a [Whitespace] (Expr a) (Maybe (Comma, Expr a)) |
Instances
PositionalParam | |
| |
KeywordParam | |
| |
StarParam | |
| |
UnnamedStarParam | |
DoubleStarParam | |
|
Instances
Functor Param # | |
Foldable Param # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Param m -> m # foldMap :: Monoid m => (a -> m) -> Param a -> m # foldr :: (a -> b -> b) -> b -> Param a -> b # foldr' :: (a -> b -> b) -> b -> Param a -> b # foldl :: (b -> a -> b) -> b -> Param a -> b # foldl' :: (b -> a -> b) -> b -> Param a -> b # foldr1 :: (a -> a -> a) -> Param a -> a # foldl1 :: (a -> a -> a) -> Param a -> a # elem :: Eq a => a -> Param a -> Bool # maximum :: Ord a => Param a -> a # minimum :: Ord a => Param a -> a # | |
Traversable Param # | |
Eq a => Eq (Param a) # | |
Show a => Show (Param a) # | |
CompIf a [Whitespace] (Expr a) | 'if' any_spaces expr |
Instances
Functor CompIf # | |
Foldable CompIf # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => CompIf m -> m # foldMap :: Monoid m => (a -> m) -> CompIf a -> m # foldr :: (a -> b -> b) -> b -> CompIf a -> b # foldr' :: (a -> b -> b) -> b -> CompIf a -> b # foldl :: (b -> a -> b) -> b -> CompIf a -> b # foldl' :: (b -> a -> b) -> b -> CompIf a -> b # foldr1 :: (a -> a -> a) -> CompIf a -> a # foldl1 :: (a -> a -> a) -> CompIf a -> a # elem :: Eq a => a -> CompIf a -> Bool # maximum :: Ord a => CompIf a -> a # minimum :: Ord a => CompIf a -> a # | |
Traversable CompIf # | |
Eq a => Eq (CompIf a) # | |
Show a => Show (CompIf a) # | |
CompFor a [Whitespace] (Expr a) [Whitespace] (Expr a) |
|
Instances
Functor CompFor # | |
Foldable CompFor # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => CompFor m -> m # foldMap :: Monoid m => (a -> m) -> CompFor a -> m # foldr :: (a -> b -> b) -> b -> CompFor a -> b # foldr' :: (a -> b -> b) -> b -> CompFor a -> b # foldl :: (b -> a -> b) -> b -> CompFor a -> b # foldl' :: (b -> a -> b) -> b -> CompFor a -> b # foldr1 :: (a -> a -> a) -> CompFor a -> a # foldl1 :: (a -> a -> a) -> CompFor a -> a # elem :: Eq a => a -> CompFor a -> Bool # maximum :: Ord a => CompFor a -> a # minimum :: Ord a => CompFor a -> a # | |
Traversable CompFor # | |
Eq a => Eq (CompFor a) # | |
Show a => Show (CompFor a) # | |
data Comprehension e a #
Comprehension a (e a) (CompFor a) [Either (CompFor a) (CompIf a)] |
Instances
SubscriptExpr (Expr a) | |
SubscriptSlice (Maybe (Expr a)) Colon (Maybe (Expr a)) (Maybe (Colon, Maybe (Expr a))) |
Instances
Functor Subscript # | |
Foldable Subscript # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Subscript m -> m # foldMap :: Monoid m => (a -> m) -> Subscript a -> m # foldr :: (a -> b -> b) -> b -> Subscript a -> b # foldr' :: (a -> b -> b) -> b -> Subscript a -> b # foldl :: (b -> a -> b) -> b -> Subscript a -> b # foldl' :: (b -> a -> b) -> b -> Subscript a -> b # foldr1 :: (a -> a -> a) -> Subscript a -> a # foldl1 :: (a -> a -> a) -> Subscript a -> a # toList :: Subscript a -> [a] # length :: Subscript a -> Int # elem :: Eq a => a -> Subscript a -> Bool # maximum :: Ord a => Subscript a -> a # minimum :: Ord a => Subscript a -> a # | |
Traversable Subscript # | |
Defined in Language.Python.Internal.Syntax.IR | |
Eq a => Eq (Subscript a) # | |
Show a => Show (Subscript a) # | |
DictItem | |
| |
DictUnpack | |
Instances
Functor DictItem # | |
Foldable DictItem # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => DictItem m -> m # foldMap :: Monoid m => (a -> m) -> DictItem a -> m # foldr :: (a -> b -> b) -> b -> DictItem a -> b # foldr' :: (a -> b -> b) -> b -> DictItem a -> b # foldl :: (b -> a -> b) -> b -> DictItem a -> b # foldl' :: (b -> a -> b) -> b -> DictItem a -> b # foldr1 :: (a -> a -> a) -> DictItem a -> a # foldl1 :: (a -> a -> a) -> DictItem a -> a # elem :: Eq a => a -> DictItem a -> Bool # maximum :: Ord a => DictItem a -> a # minimum :: Ord a => DictItem a -> a # | |
Traversable DictItem # | |
Defined in Language.Python.Internal.Syntax.IR | |
Eq a => Eq (DictItem a) # | |
Show a => Show (DictItem a) # | |
PositionalArg | |
KeywordArg | |
| |
StarArg | |
| |
DoubleStarArg | |
|
Instances
Functor Arg # | |
Foldable Arg # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Arg m -> m # foldMap :: Monoid m => (a -> m) -> Arg a -> m # foldr :: (a -> b -> b) -> b -> Arg a -> b # foldr' :: (a -> b -> b) -> b -> Arg a -> b # foldl :: (b -> a -> b) -> b -> Arg a -> b # foldl' :: (b -> a -> b) -> b -> Arg a -> b # foldr1 :: (a -> a -> a) -> Arg a -> a # foldl1 :: (a -> a -> a) -> Arg a -> a # elem :: Eq a => a -> Arg a -> Bool # maximum :: Ord a => Arg a -> a # | |
Traversable Arg # | |
Eq a => Eq (Arg a) # | |
Show a => Show (Arg a) # | |
Instances
Functor Expr # | |
Foldable Expr # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Expr m -> m # foldMap :: Monoid m => (a -> m) -> Expr a -> m # foldr :: (a -> b -> b) -> b -> Expr a -> b # foldr' :: (a -> b -> b) -> b -> Expr a -> b # foldl :: (b -> a -> b) -> b -> Expr a -> b # foldl' :: (b -> a -> b) -> b -> Expr a -> b # foldr1 :: (a -> a -> a) -> Expr a -> a # foldl1 :: (a -> a -> a) -> Expr a -> a # elem :: Eq a => a -> Expr a -> Bool # maximum :: Ord a => Expr a -> a # | |
Traversable Expr # | |
Eq a => Eq (Expr a) # | |
Show a => Show (Expr a) # | |
Instances
Functor Suite # | |
Foldable Suite # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Suite m -> m # foldMap :: Monoid m => (a -> m) -> Suite a -> m # foldr :: (a -> b -> b) -> b -> Suite a -> b # foldr' :: (a -> b -> b) -> b -> Suite a -> b # foldl :: (b -> a -> b) -> b -> Suite a -> b # foldl' :: (b -> a -> b) -> b -> Suite a -> b # foldr1 :: (a -> a -> a) -> Suite a -> a # foldl1 :: (a -> a -> a) -> Suite a -> a # elem :: Eq a => a -> Suite a -> Bool # maximum :: Ord a => Suite a -> a # minimum :: Ord a => Suite a -> a # | |
Traversable Suite # | |
Eq a => Eq (Suite a) # | |
Show a => Show (Suite a) # | |
Block | |
|
Instances
Functor Block # | |
Foldable Block # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Block m -> m # foldMap :: Monoid m => (a -> m) -> Block a -> m # foldr :: (a -> b -> b) -> b -> Block a -> b # foldr' :: (a -> b -> b) -> b -> Block a -> b # foldl :: (b -> a -> b) -> b -> Block a -> b # foldl' :: (b -> a -> b) -> b -> Block a -> b # foldr1 :: (a -> a -> a) -> Block a -> a # foldl1 :: (a -> a -> a) -> Block a -> a # elem :: Eq a => a -> Block a -> Bool # maximum :: Ord a => Block a -> a # minimum :: Ord a => Block a -> a # | |
Traversable Block # | |
Eq a => Eq (Block a) # | |
Show a => Show (Block a) # | |
WithItem | |
|
Instances
Functor WithItem # | |
Foldable WithItem # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => WithItem m -> m # foldMap :: Monoid m => (a -> m) -> WithItem a -> m # foldr :: (a -> b -> b) -> b -> WithItem a -> b # foldr' :: (a -> b -> b) -> b -> WithItem a -> b # foldl :: (b -> a -> b) -> b -> WithItem a -> b # foldl' :: (b -> a -> b) -> b -> WithItem a -> b # foldr1 :: (a -> a -> a) -> WithItem a -> a # foldl1 :: (a -> a -> a) -> WithItem a -> a # elem :: Eq a => a -> WithItem a -> Bool # maximum :: Ord a => WithItem a -> a # minimum :: Ord a => WithItem a -> a # | |
Traversable WithItem # | |
Defined in Language.Python.Internal.Syntax.IR | |
Eq a => Eq (WithItem a) # | |
Show a => Show (WithItem a) # | |
Decorator | |
|
Instances
Functor Decorator # | |
Foldable Decorator # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Decorator m -> m # foldMap :: Monoid m => (a -> m) -> Decorator a -> m # foldr :: (a -> b -> b) -> b -> Decorator a -> b # foldr' :: (a -> b -> b) -> b -> Decorator a -> b # foldl :: (b -> a -> b) -> b -> Decorator a -> b # foldl' :: (b -> a -> b) -> b -> Decorator a -> b # foldr1 :: (a -> a -> a) -> Decorator a -> a # foldl1 :: (a -> a -> a) -> Decorator a -> a # toList :: Decorator a -> [a] # length :: Decorator a -> Int # elem :: Eq a => a -> Decorator a -> Bool # maximum :: Ord a => Decorator a -> a # minimum :: Ord a => Decorator a -> a # | |
Traversable Decorator # | |
Defined in Language.Python.Internal.Syntax.IR | |
Eq a => Eq (Decorator a) # | |
Show a => Show (Decorator a) # | |
ExceptAs | |
|
Instances
Functor ExceptAs # | |
Foldable ExceptAs # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => ExceptAs m -> m # foldMap :: Monoid m => (a -> m) -> ExceptAs a -> m # foldr :: (a -> b -> b) -> b -> ExceptAs a -> b # foldr' :: (a -> b -> b) -> b -> ExceptAs a -> b # foldl :: (b -> a -> b) -> b -> ExceptAs a -> b # foldl' :: (b -> a -> b) -> b -> ExceptAs a -> b # foldr1 :: (a -> a -> a) -> ExceptAs a -> a # foldl1 :: (a -> a -> a) -> ExceptAs a -> a # elem :: Eq a => a -> ExceptAs a -> Bool # maximum :: Ord a => ExceptAs a -> a # minimum :: Ord a => ExceptAs a -> a # | |
Traversable ExceptAs # | |
Defined in Language.Python.Internal.Syntax.IR | |
Eq a => Eq (ExceptAs a) # | |
Show a => Show (ExceptAs a) # | |
ModuleEmpty | |
ModuleBlankFinal (Blank a) | |
ModuleBlank (Blank a) Newline (Module a) | |
ModuleStatement (Statement a) (Module a) |
Instances
Functor Module # | |
Foldable Module # | |
Defined in Language.Python.Internal.Syntax.IR fold :: Monoid m => Module m -> m # foldMap :: Monoid m => (a -> m) -> Module a -> m # foldr :: (a -> b -> b) -> b -> Module a -> b # foldr' :: (a -> b -> b) -> b -> Module a -> b # foldl :: (b -> a -> b) -> b -> Module a -> b # foldl' :: (b -> a -> b) -> b -> Module a -> b # foldr1 :: (a -> a -> a) -> Module a -> a # foldl1 :: (a -> a -> a) -> Module a -> a # elem :: Eq a => a -> Module a -> Bool # maximum :: Ord a => Module a -> a # minimum :: Ord a => Module a -> a # | |
Traversable Module # | |
Eq a => Eq (Module a) # | |
Show a => Show (Module a) # | |
data FromIRContext #
fromIR_expr :: AsIRError e a => Expr a -> Validation (NonEmpty e) (Expr '[] a) #
fromIR_suite :: AsIRError e a => Suite a -> Validation (NonEmpty e) (Suite '[] a) #
fromIR_param :: AsIRError e a => Param a -> Validation (NonEmpty e) (Param '[] a) #
fromIR_arg :: AsIRError e a => Arg a -> Validation (NonEmpty e) (Arg '[] a) #
fromIR_decorator :: AsIRError e a => Decorator a -> Validation (NonEmpty e) (Decorator '[] a) #
fromIR_exceptAs :: AsIRError e a => ExceptAs a -> Validation (NonEmpty e) (ExceptAs '[] a) #
fromIR_withItem :: AsIRError e a => WithItem a -> Validation (NonEmpty e) (WithItem '[] a) #
fromIR_comprehension :: AsIRError e a => (ex a -> Validation (NonEmpty e) (ex' '[] a)) -> Comprehension ex a -> Validation (NonEmpty e) (Comprehension ex' '[] a) #
fromIR_dictItem :: AsIRError e a => DictItem a -> Validation (NonEmpty e) (DictItem '[] a) #
fromIR_subscript :: AsIRError e a => Subscript a -> Validation (NonEmpty e) (Subscript '[] a) #
fromIR_block :: AsIRError e a => Block a -> Validation (NonEmpty e) (Block '[] a) #
fromIR_compFor :: AsIRError e a => CompFor a -> Validation (NonEmpty e) (CompFor '[] a) #
fromIR_compIf :: AsIRError e a => CompIf a -> Validation (NonEmpty e) (CompIf '[] a) #
fromIR_smallStatement :: AsIRError e a => SmallStatement a -> Validation (NonEmpty e) (SmallStatement '[] a) #
fromIR_statement :: AsIRError e a => Statement a -> Validation (NonEmpty e) (Statement '[] a) #
fromIR_SimpleStatement :: AsIRError e a => SimpleStatement a -> Validation (NonEmpty e) (SimpleStatement '[] a) #
fromIR_compoundStatement :: AsIRError e a => CompoundStatement a -> Validation (NonEmpty e) (CompoundStatement '[] a) #
fromIR_listItem :: AsIRError e a => Expr a -> Validation (NonEmpty e) (ListItem '[] a) #
fromIR_tupleItem :: AsIRError e a => Expr a -> Validation (NonEmpty e) (TupleItem '[] a) #
fromIR_setItem :: AsIRError e a => Expr a -> Validation (NonEmpty e) (SetItem '[] a) #