idris-1.3.4: Functional Programming Language with Dependent Types

License | BSD3
Maintainer | The Idris Community.
Safe Haskell | Safe-Inferred
Language | Haskell2010

IRTS.JavaScript.AST

Description

# Documentation

data JsExpr #

Constructors

JsNull |
JsUndefined |
JsThis |
JsLambda [Text] JsStmt |
JsApp JsExpr [JsExpr] |
JsNew JsExpr [JsExpr] |
JsPart JsExpr Text |
JsMethod JsExpr Text [JsExpr] |
JsVar Text |
JsArrayProj JsExpr JsExpr |
JsObj [(Text, JsExpr)] |
JsProp JsExpr Text |
JsInt Int |
JsBool Bool |
JsInteger Integer |
JsDouble Double |
JsStr String |
JsArray [JsExpr] |
JsErrorExp JsExpr |
JsUniOp Text JsExpr |
JsBinOp Text JsExpr JsExpr |
JsForeign Text [JsExpr] |
JsB2I JsExpr |
JsForce JsExpr |

#### Instances

Instances details

Data JsExpr # |
Instance details Defined in IRTS.JavaScript.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JsExpr -> c JsExpr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JsExpr toConstr :: JsExpr -> Constr dataTypeOf :: JsExpr -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JsExpr) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JsExpr) gmapT :: (forall b. Data b => b -> b) -> JsExpr -> JsExpr gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JsExpr -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JsExpr -> r gmapQ :: (forall d. Data d => d -> u) -> JsExpr -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> JsExpr -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> JsExpr -> m JsExpr gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JsExpr -> m JsExpr gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JsExpr -> m JsExpr
Show JsExpr # |
Instance details Defined in IRTS.JavaScript.AST Methods showsPrec :: Int -> JsExpr -> ShowS show :: JsExpr -> String showList :: [JsExpr] -> ShowS
Eq JsExpr # |
Instance details Defined in IRTS.JavaScript.AST Methods (==) :: JsExpr -> JsExpr -> Bool (/=) :: JsExpr -> JsExpr -> Bool

data JsStmt #

Constructors

JsEmpty |
JsComment Text |
JsExprStmt JsExpr |
JsFun Text [Text] JsStmt |
JsSeq JsStmt JsStmt |
JsReturn JsExpr |
JsDecVar Text JsExpr |
JsDecConst Text JsExpr |
JsDecLet Text JsExpr |
JsSet JsExpr JsExpr |
JsIf JsExpr JsStmt (Maybe JsStmt) |
JsSwitchCase JsExpr [(JsExpr, JsStmt)] (Maybe JsStmt) |
JsError JsExpr |
JsForever JsStmt |
JsContinue |
JsBreak |

#### Instances

Instances details

Data JsStmt # |
Instance details Defined in IRTS.JavaScript.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JsStmt -> c JsStmt gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JsStmt toConstr :: JsStmt -> Constr dataTypeOf :: JsStmt -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JsStmt) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JsStmt) gmapT :: (forall b. Data b => b -> b) -> JsStmt -> JsStmt gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JsStmt -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JsStmt -> r gmapQ :: (forall d. Data d => d -> u) -> JsStmt -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> JsStmt -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> JsStmt -> m JsStmt gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JsStmt -> m JsStmt gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JsStmt -> m JsStmt
Show JsStmt # |
Instance details Defined in IRTS.JavaScript.AST Methods showsPrec :: Int -> JsStmt -> ShowS show :: JsStmt -> String showList :: [JsStmt] -> ShowS
Eq JsStmt # |
Instance details Defined in IRTS.JavaScript.AST Methods (==) :: JsStmt -> JsStmt -> Bool (/=) :: JsStmt -> JsStmt -> Bool

jsAst2Text :: JsExpr -> Text #

jsStmt2Text :: JsStmt -> Text #

jsLazy :: JsExpr -> JsExpr #

jsCurryLam :: [Text] -> JsExpr -> JsExpr #

jsCurryApp :: JsExpr -> [JsExpr] -> JsExpr #

jsAppN :: Text -> [JsExpr] -> JsExpr #

jsExpr2Stmt :: JsExpr -> JsStmt #

jsStmt2Expr :: JsStmt -> JsExpr #

jsSetVar :: Text -> JsExpr -> JsStmt #