JavaScript's syntax.
Documentation
data Expression a Source
StringLit a String | |
RegexpLit a String Bool Bool | |
NumLit a Double | |
IntLit a Int | |
BoolLit a Bool | |
NullLit a | |
ArrayLit a [Expression a] | |
ObjectLit a [(Prop a, Expression a)] | |
ThisRef a | |
VarRef a (Id a) | |
DotRef a (Expression a) (Id a) | |
BracketRef a (Expression a) (Expression a) | |
NewExpr a (Expression a) [Expression a] | |
PostfixExpr a PostfixOp (Expression a) | |
PrefixExpr a PrefixOp (Expression a) | |
InfixExpr a InfixOp (Expression a) (Expression a) | |
CondExpr a (Expression a) (Expression a) (Expression a) | |
AssignExpr a AssignOp (Expression a) (Expression a) | |
ParenExpr a (Expression a) | |
ListExpr a [Expression a] | |
CallExpr a (Expression a) [Expression a] | |
FuncExpr a [Id a] (Statement a) |
Functor Expression | |
Typeable1 Expression | |
Foldable Expression | |
Traversable Expression | |
Eq a => Eq (Expression a) | |
Data a => Data (Expression a) | |
Ord a => Ord (Expression a) | |
Show a => Show (Expression a) |
data CaseClause a Source
CaseClause a (Expression a) [Statement a] | |
CaseDefault a [Statement a] |
Functor CaseClause | |
Typeable1 CaseClause | |
Foldable CaseClause | |
Traversable CaseClause | |
Eq a => Eq (CaseClause a) | |
Data a => Data (CaseClause a) | |
Ord a => Ord (CaseClause a) | |
Show a => Show (CaseClause a) |
BlockStmt a [Statement a] | |
EmptyStmt a | |
ExprStmt a (Expression a) | |
IfStmt a (Expression a) (Statement a) (Statement a) | |
IfSingleStmt a (Expression a) (Statement a) | |
SwitchStmt a (Expression a) [CaseClause a] | |
WhileStmt a (Expression a) (Statement a) | |
DoWhileStmt a (Statement a) (Expression a) | |
BreakStmt a (Maybe (Id a)) | |
ContinueStmt a (Maybe (Id a)) | |
LabelledStmt a (Id a) (Statement a) | |
ForInStmt a (ForInInit a) (Expression a) (Statement a) | |
ForStmt a (ForInit a) (Maybe (Expression a)) (Maybe (Expression a)) (Statement a) | |
TryStmt a (Statement a) [CatchClause a] (Maybe (Statement a)) | |
ThrowStmt a (Expression a) | |
ReturnStmt a (Maybe (Expression a)) | |
WithStmt a (Expression a) (Statement a) | |
VarDeclStmt a [VarDecl a] | |
FunctionStmt a (Id a) [Id a] (Statement a) |
data CatchClause a Source
CatchClause a (Id a) (Statement a) |
Functor CatchClause | |
Typeable1 CatchClause | |
Foldable CatchClause | |
Traversable CatchClause | |
Eq a => Eq (CatchClause a) | |
Data a => Data (CatchClause a) | |
Ord a => Ord (CatchClause a) | |
Show a => Show (CatchClause a) |
VarDecl a (Id a) (Maybe (Expression a)) |
data JavaScript a Source
Script a [Statement a] | A script in script ... /script tags. This may seem a little silly, but the Flapjax analogue has an inline variant and attribute-inline variant. |
Functor JavaScript | |
Typeable1 JavaScript | |
Eq a => Eq (JavaScript a) | |
Data a => Data (JavaScript a) | |
Ord a => Ord (JavaScript a) | |
Show a => Show (JavaScript a) |
NoInit | |
VarInit [VarDecl a] | |
ExprInit (Expression a) |
ForInVar (Id a) | |
ForInNoVar (Id a) |