| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Language.PureScript.CoreImp.AST
Description
Data types for the imperative core AST
Synopsis
- data UnaryOperator
- = Negate
- | Not
- | BitwiseNot
- | Positive
- | New
- data BinaryOperator
- data CIComments
- data InitializerEffects
- data AST
- = NumericLiteral (Maybe SourceSpan) (Either Integer Double)
- | StringLiteral (Maybe SourceSpan) PSString
- | BooleanLiteral (Maybe SourceSpan) Bool
- | Unary (Maybe SourceSpan) UnaryOperator AST
- | Binary (Maybe SourceSpan) BinaryOperator AST AST
- | ArrayLiteral (Maybe SourceSpan) [AST]
- | Indexer (Maybe SourceSpan) AST AST
- | ObjectLiteral (Maybe SourceSpan) [(PSString, AST)]
- | Function (Maybe SourceSpan) (Maybe Text) [Text] AST
- | App (Maybe SourceSpan) AST [AST]
- | Var (Maybe SourceSpan) Text
- | ModuleAccessor (Maybe SourceSpan) ModuleName PSString
- | Block (Maybe SourceSpan) [AST]
- | VariableIntroduction (Maybe SourceSpan) Text (Maybe (InitializerEffects, AST))
- | Assignment (Maybe SourceSpan) AST AST
- | While (Maybe SourceSpan) AST AST
- | For (Maybe SourceSpan) Text AST AST AST
- | ForIn (Maybe SourceSpan) Text AST AST
- | IfElse (Maybe SourceSpan) AST AST (Maybe AST)
- | Return (Maybe SourceSpan) AST
- | ReturnNoResult (Maybe SourceSpan)
- | Throw (Maybe SourceSpan) AST
- | InstanceOf (Maybe SourceSpan) AST AST
- | Comment CIComments AST
- withSourceSpan :: SourceSpan -> AST -> AST
- getSourceSpan :: AST -> Maybe SourceSpan
- everywhere :: (AST -> AST) -> AST -> AST
- everywhereTopDown :: (AST -> AST) -> AST -> AST
- everywhereTopDownM :: Monad m => (AST -> m AST) -> AST -> m AST
- everything :: (r -> r -> r) -> (AST -> r) -> AST -> r
Documentation
data UnaryOperator Source #
Built-in unary operators
Constructors
| Negate | |
| Not | |
| BitwiseNot | |
| Positive | |
| New |
Instances
| Show UnaryOperator Source # | |
Defined in Language.PureScript.CoreImp.AST Methods showsPrec :: Int -> UnaryOperator -> ShowS # show :: UnaryOperator -> String # showList :: [UnaryOperator] -> ShowS # | |
| Eq UnaryOperator Source # | |
Defined in Language.PureScript.CoreImp.AST Methods (==) :: UnaryOperator -> UnaryOperator -> Bool # (/=) :: UnaryOperator -> UnaryOperator -> Bool # | |
data BinaryOperator Source #
Built-in binary operators
Constructors
| Add | |
| Subtract | |
| Multiply | |
| Divide | |
| Modulus | |
| EqualTo | |
| NotEqualTo | |
| LessThan | |
| LessThanOrEqualTo | |
| GreaterThan | |
| GreaterThanOrEqualTo | |
| And | |
| Or | |
| BitwiseAnd | |
| BitwiseOr | |
| BitwiseXor | |
| ShiftLeft | |
| ShiftRight | |
| ZeroFillShiftRight |
Instances
| Show BinaryOperator Source # | |
Defined in Language.PureScript.CoreImp.AST Methods showsPrec :: Int -> BinaryOperator -> ShowS # show :: BinaryOperator -> String # showList :: [BinaryOperator] -> ShowS # | |
| Eq BinaryOperator Source # | |
Defined in Language.PureScript.CoreImp.AST Methods (==) :: BinaryOperator -> BinaryOperator -> Bool # (/=) :: BinaryOperator -> BinaryOperator -> Bool # | |
data CIComments Source #
Data type for CoreImp comments, which can come from either the PureScript source or internal transformations.
Constructors
| SourceComments [Comment] | |
| PureAnnotation |
Instances
| Show CIComments Source # | |
Defined in Language.PureScript.CoreImp.AST Methods showsPrec :: Int -> CIComments -> ShowS # show :: CIComments -> String # showList :: [CIComments] -> ShowS # | |
| Eq CIComments Source # | |
Defined in Language.PureScript.CoreImp.AST | |
data InitializerEffects Source #
Indicates whether the initializer of a variable is known not to have side effects, and thus can be inlined if needed or removed if unneeded.
Constructors
| NoEffects | |
| UnknownEffects |
Instances
| Show InitializerEffects Source # | |
Defined in Language.PureScript.CoreImp.AST Methods showsPrec :: Int -> InitializerEffects -> ShowS # show :: InitializerEffects -> String # showList :: [InitializerEffects] -> ShowS # | |
| Eq InitializerEffects Source # | |
Defined in Language.PureScript.CoreImp.AST Methods (==) :: InitializerEffects -> InitializerEffects -> Bool # (/=) :: InitializerEffects -> InitializerEffects -> Bool # | |
Data type for simplified JavaScript expressions
Constructors
withSourceSpan :: SourceSpan -> AST -> AST Source #
getSourceSpan :: AST -> Maybe SourceSpan Source #
everything :: (r -> r -> r) -> (AST -> r) -> AST -> r Source #