| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Language.PureScript.CodeGen.JS.AST
Description
Data types for the intermediate simplified-Javascript AST
- data UnaryOperator
- = Negate
- | Not
- | BitwiseNot
- | Positive
- | JSNew
- data BinaryOperator
- data JS
- = JSNumericLiteral (Maybe SourceSpan) (Either Integer Double)
- | JSStringLiteral (Maybe SourceSpan) PSString
- | JSBooleanLiteral (Maybe SourceSpan) Bool
- | JSUnary (Maybe SourceSpan) UnaryOperator JS
- | JSBinary (Maybe SourceSpan) BinaryOperator JS JS
- | JSArrayLiteral (Maybe SourceSpan) [JS]
- | JSIndexer (Maybe SourceSpan) JS JS
- | JSObjectLiteral (Maybe SourceSpan) [(PSString, JS)]
- | JSFunction (Maybe SourceSpan) (Maybe Text) [Text] JS
- | JSApp (Maybe SourceSpan) JS [JS]
- | JSVar (Maybe SourceSpan) Text
- | JSConditional (Maybe SourceSpan) JS JS JS
- | JSBlock (Maybe SourceSpan) [JS]
- | JSVariableIntroduction (Maybe SourceSpan) Text (Maybe JS)
- | JSAssignment (Maybe SourceSpan) JS JS
- | JSWhile (Maybe SourceSpan) JS JS
- | JSFor (Maybe SourceSpan) Text JS JS JS
- | JSForIn (Maybe SourceSpan) Text JS JS
- | JSIfElse (Maybe SourceSpan) JS JS (Maybe JS)
- | JSReturn (Maybe SourceSpan) JS
- | JSThrow (Maybe SourceSpan) JS
- | JSTypeOf (Maybe SourceSpan) JS
- | JSInstanceOf (Maybe SourceSpan) JS JS
- | JSLabel (Maybe SourceSpan) Text JS
- | JSBreak (Maybe SourceSpan) Text
- | JSContinue (Maybe SourceSpan) Text
- | JSRaw (Maybe SourceSpan) Text
- | JSComment (Maybe SourceSpan) [Comment] JS
- withSourceSpan :: SourceSpan -> JS -> JS
- getSourceSpan :: JS -> Maybe SourceSpan
- everywhereOnJS :: (JS -> JS) -> JS -> JS
- everywhereOnJSTopDown :: (JS -> JS) -> JS -> JS
- everywhereOnJSTopDownM :: Monad m => (JS -> m JS) -> JS -> m JS
- everythingOnJS :: (r -> r -> r) -> (JS -> r) -> JS -> r
Documentation
data UnaryOperator Source #
Built-in unary operators
Constructors
| Negate | Numeric negation |
| Not | Boolean negation |
| BitwiseNot | Bitwise negation |
| Positive | Numeric unary 'plus' |
| JSNew | Constructor |
Instances
data BinaryOperator Source #
Built-in binary operators
Constructors
| Add | Numeric addition |
| Subtract | Numeric subtraction |
| Multiply | Numeric multiplication |
| Divide | Numeric division |
| Modulus | Remainder |
| EqualTo | Generic equality test |
| NotEqualTo | Generic inequality test |
| LessThan | Numeric less-than |
| LessThanOrEqualTo | Numeric less-than-or-equal |
| GreaterThan | Numeric greater-than |
| GreaterThanOrEqualTo | Numeric greater-than-or-equal |
| And | Boolean and |
| Or | Boolean or |
| BitwiseAnd | Bitwise and |
| BitwiseOr | Bitwise or |
| BitwiseXor | Bitwise xor |
| ShiftLeft | Bitwise left shift |
| ShiftRight | Bitwise right shift |
| ZeroFillShiftRight | Bitwise right shift with zero-fill |
Instances
Data type for simplified Javascript expressions
Constructors
withSourceSpan :: SourceSpan -> JS -> JS Source #
getSourceSpan :: JS -> Maybe SourceSpan Source #
everythingOnJS :: (r -> r -> r) -> (JS -> r) -> JS -> r Source #