Language.HJavaScript.Syntax

Primitive type classes.

class JType t

Fundamental data types.

data Exp t

data Rec a b

data Var t

data Stmt t

data Block t

Data types and classes for object representation.

class IsClass c

class HasConstructor c e t

class IsDeref r

Misc

data AssignOp t

data BinOp t r

class PlusOpType a

data PostPre

data Elses t

class IsNullable a

class IsFeature a

class JShow a

Types for functions and parameters.

class Args e t

class ParamType t

class FormalParams a t

class VarsToExps v e

Array representation.

data Array t

Type synonyms.

type JInt

type JString

type JBool

type JFloat

type JVoid

type JObject c

type JArray t

Type classes for expression representation.

class IsExp e t

class IsJString e

class IsJBool e

class IsJInt e

class IsJFloat e

Helper functions

val

toBlock

deref

derefVar

propertyVar

call

methodCall

voidMethodCall

methodCallNoArgs

voidMethodCallNoArgs

Render function producing multi-line pretty-printed JavaScript code.

renderBlock