packages feed

language-ecmascript 0.17.0.1 → 0.17.0.2

raw patch · 4 files changed

+26/−5 lines, 4 filesdep ~HUnitPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: HUnit

API changes (from Hackage documentation)

- Language.ECMAScript3.Analysis.LabelSets: instance Data Label
- Language.ECMAScript3.Analysis.LabelSets: instance Eq Label
- Language.ECMAScript3.Analysis.LabelSets: instance Ord Label
- Language.ECMAScript3.Analysis.LabelSets: instance Show Label
- Language.ECMAScript3.Analysis.LabelSets: instance Typeable Label
- Language.ECMAScript3.PrettyPrint: instance Pretty (CaseClause a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (CatchClause a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (Expression a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (ForInInit a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (ForInit a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (Id a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (JavaScript a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (LValue a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (Prop a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (Statement a)
- Language.ECMAScript3.PrettyPrint: instance Pretty (VarDecl a)
- Language.ECMAScript3.PrettyPrint: instance Pretty AssignOp
- Language.ECMAScript3.PrettyPrint: instance Pretty InfixOp
- Language.ECMAScript3.PrettyPrint: instance Pretty PrefixOp
- Language.ECMAScript3.PrettyPrint: instance Pretty [Statement a]
- Language.ECMAScript3.PrettyPrint: instance Pretty a => PP a
- Language.ECMAScript3.Syntax: instance Data AssignOp
- Language.ECMAScript3.Syntax: instance Data InfixOp
- Language.ECMAScript3.Syntax: instance Data PrefixOp
- Language.ECMAScript3.Syntax: instance Data UnaryAssignOp
- Language.ECMAScript3.Syntax: instance Data a => Data (CaseClause a)
- Language.ECMAScript3.Syntax: instance Data a => Data (CatchClause a)
- Language.ECMAScript3.Syntax: instance Data a => Data (Expression a)
- Language.ECMAScript3.Syntax: instance Data a => Data (ForInInit a)
- Language.ECMAScript3.Syntax: instance Data a => Data (ForInit a)
- Language.ECMAScript3.Syntax: instance Data a => Data (Id a)
- Language.ECMAScript3.Syntax: instance Data a => Data (JavaScript a)
- Language.ECMAScript3.Syntax: instance Data a => Data (LValue a)
- Language.ECMAScript3.Syntax: instance Data a => Data (Prop a)
- Language.ECMAScript3.Syntax: instance Data a => Data (Statement a)
- Language.ECMAScript3.Syntax: instance Data a => Data (VarDecl a)
- Language.ECMAScript3.Syntax: instance Default SourcePos
- Language.ECMAScript3.Syntax: instance Default a => Default (JavaScript a)
- Language.ECMAScript3.Syntax: instance Enum InfixOp
- Language.ECMAScript3.Syntax: instance Eq AssignOp
- Language.ECMAScript3.Syntax: instance Eq InfixOp
- Language.ECMAScript3.Syntax: instance Eq PrefixOp
- Language.ECMAScript3.Syntax: instance Eq UnaryAssignOp
- Language.ECMAScript3.Syntax: instance Eq a => Eq (CaseClause a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (CatchClause a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (Expression a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (ForInInit a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (ForInit a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (Id a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (JavaScript a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (LValue a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (Prop a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (Statement a)
- Language.ECMAScript3.Syntax: instance Eq a => Eq (VarDecl a)
- Language.ECMAScript3.Syntax: instance Foldable CaseClause
- Language.ECMAScript3.Syntax: instance Foldable CatchClause
- Language.ECMAScript3.Syntax: instance Foldable Expression
- Language.ECMAScript3.Syntax: instance Foldable ForInInit
- Language.ECMAScript3.Syntax: instance Foldable ForInit
- Language.ECMAScript3.Syntax: instance Foldable Id
- Language.ECMAScript3.Syntax: instance Foldable JavaScript
- Language.ECMAScript3.Syntax: instance Foldable LValue
- Language.ECMAScript3.Syntax: instance Foldable Prop
- Language.ECMAScript3.Syntax: instance Foldable Statement
- Language.ECMAScript3.Syntax: instance Foldable VarDecl
- Language.ECMAScript3.Syntax: instance Functor CaseClause
- Language.ECMAScript3.Syntax: instance Functor CatchClause
- Language.ECMAScript3.Syntax: instance Functor Expression
- Language.ECMAScript3.Syntax: instance Functor ForInInit
- Language.ECMAScript3.Syntax: instance Functor ForInit
- Language.ECMAScript3.Syntax: instance Functor Id
- Language.ECMAScript3.Syntax: instance Functor JavaScript
- Language.ECMAScript3.Syntax: instance Functor LValue
- Language.ECMAScript3.Syntax: instance Functor Prop
- Language.ECMAScript3.Syntax: instance Functor Statement
- Language.ECMAScript3.Syntax: instance Functor VarDecl
- Language.ECMAScript3.Syntax: instance HasLabelSet EnclosingStatement
- Language.ECMAScript3.Syntax: instance Ord AssignOp
- Language.ECMAScript3.Syntax: instance Ord InfixOp
- Language.ECMAScript3.Syntax: instance Ord PrefixOp
- Language.ECMAScript3.Syntax: instance Ord UnaryAssignOp
- Language.ECMAScript3.Syntax: instance Ord a => Ord (CaseClause a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (CatchClause a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (Expression a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (ForInInit a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (ForInit a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (Id a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (JavaScript a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (LValue a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (Prop a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (Statement a)
- Language.ECMAScript3.Syntax: instance Ord a => Ord (VarDecl a)
- Language.ECMAScript3.Syntax: instance Show AssignOp
- Language.ECMAScript3.Syntax: instance Show EnclosingStatement
- Language.ECMAScript3.Syntax: instance Show InfixOp
- Language.ECMAScript3.Syntax: instance Show PrefixOp
- Language.ECMAScript3.Syntax: instance Show UnaryAssignOp
- Language.ECMAScript3.Syntax: instance Show a => Show (CaseClause a)
- Language.ECMAScript3.Syntax: instance Show a => Show (CatchClause a)
- Language.ECMAScript3.Syntax: instance Show a => Show (Expression a)
- Language.ECMAScript3.Syntax: instance Show a => Show (ForInInit a)
- Language.ECMAScript3.Syntax: instance Show a => Show (ForInit a)
- Language.ECMAScript3.Syntax: instance Show a => Show (Id a)
- Language.ECMAScript3.Syntax: instance Show a => Show (JavaScript a)
- Language.ECMAScript3.Syntax: instance Show a => Show (LValue a)
- Language.ECMAScript3.Syntax: instance Show a => Show (Prop a)
- Language.ECMAScript3.Syntax: instance Show a => Show (Statement a)
- Language.ECMAScript3.Syntax: instance Show a => Show (VarDecl a)
- Language.ECMAScript3.Syntax: instance Traversable CaseClause
- Language.ECMAScript3.Syntax: instance Traversable CatchClause
- Language.ECMAScript3.Syntax: instance Traversable Expression
- Language.ECMAScript3.Syntax: instance Traversable ForInInit
- Language.ECMAScript3.Syntax: instance Traversable ForInit
- Language.ECMAScript3.Syntax: instance Traversable Id
- Language.ECMAScript3.Syntax: instance Traversable JavaScript
- Language.ECMAScript3.Syntax: instance Traversable LValue
- Language.ECMAScript3.Syntax: instance Traversable Prop
- Language.ECMAScript3.Syntax: instance Traversable Statement
- Language.ECMAScript3.Syntax: instance Traversable VarDecl
- Language.ECMAScript3.Syntax: instance Typeable AssignOp
- Language.ECMAScript3.Syntax: instance Typeable CaseClause
- Language.ECMAScript3.Syntax: instance Typeable CatchClause
- Language.ECMAScript3.Syntax: instance Typeable Expression
- Language.ECMAScript3.Syntax: instance Typeable ForInInit
- Language.ECMAScript3.Syntax: instance Typeable ForInit
- Language.ECMAScript3.Syntax: instance Typeable Id
- Language.ECMAScript3.Syntax: instance Typeable InfixOp
- Language.ECMAScript3.Syntax: instance Typeable JavaScript
- Language.ECMAScript3.Syntax: instance Typeable LValue
- Language.ECMAScript3.Syntax: instance Typeable PrefixOp
- Language.ECMAScript3.Syntax: instance Typeable Prop
- Language.ECMAScript3.Syntax: instance Typeable Statement
- Language.ECMAScript3.Syntax: instance Typeable UnaryAssignOp
- Language.ECMAScript3.Syntax: instance Typeable VarDecl
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation CaseClause
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation CatchClause
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation Expression
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation Id
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation LValue
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation Prop
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation Statement
- Language.ECMAScript3.Syntax.Annotations: instance HasAnnotation VarDecl
- Language.ECMAScript3.Syntax.Arbitrary: instance (Data a, Arbitrary a, Enumerable a) => Arbitrary (JavaScript a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Data a, Enumerable a, Arbitrary a) => Arbitrary (LValue a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a) => Arbitrary (Id a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a) => Arbitrary (Prop a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (CaseClause a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (CatchClause a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (Expression a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (ForInInit a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (ForInit a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (Statement a)
- Language.ECMAScript3.Syntax.Arbitrary: instance (Enumerable a, Arbitrary a, Data a) => Arbitrary (VarDecl a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Arbitrary AssignOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Arbitrary InfixOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Arbitrary PrefixOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Arbitrary UnaryAssignOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (CaseClause a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (CatchClause a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (Expression a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (ForInInit a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (ForInit a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (JavaScript a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (LValue a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (Prop a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (Statement a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Data a => Fixable (VarDecl a)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable AssignOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable InfixOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable PrefixOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable UnaryAssignOp
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (CaseClause a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (CatchClause a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (Expression a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (ForInInit a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (ForInit a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (Id a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (JavaScript a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (LValue a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (Prop a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (Statement a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Enumerable a0 => Enumerable (VarDecl a0)
- Language.ECMAScript3.Syntax.Arbitrary: instance Fixable (Id a)
- Language.ECMAScript3.Syntax.CodeGen: instance Default a => IsString (Expression a)
- Language.ECMAScript3.Syntax.CodeGen: instance Default a => IsString (Id a)
- Language.ECMAScript3.Syntax.CodeGen: instance Default a => IsString (LValue a)
- Language.ECMAScript3.Syntax.CodeGen: instance Default a => IsString (Prop a)
+ Language.ECMAScript3.Analysis.LabelSets: instance Data.Data.Data Language.ECMAScript3.Analysis.LabelSets.Label
+ Language.ECMAScript3.Analysis.LabelSets: instance GHC.Classes.Eq Language.ECMAScript3.Analysis.LabelSets.Label
+ Language.ECMAScript3.Analysis.LabelSets: instance GHC.Classes.Ord Language.ECMAScript3.Analysis.LabelSets.Label
+ Language.ECMAScript3.Analysis.LabelSets: instance GHC.Show.Show Language.ECMAScript3.Analysis.LabelSets.Label
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty [Language.ECMAScript3.Syntax.Statement a]
+ Language.ECMAScript3.PrettyPrint: instance Language.ECMAScript3.PrettyPrint.Pretty a => Language.ECMAScript3.PrettyPrint.PP a
+ Language.ECMAScript3.Syntax: instance Data.Data.Data Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.Syntax: instance Data.Data.Data Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax: instance Data.Data.Data Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.Syntax: instance Data.Data.Data Language.ECMAScript3.Syntax.UnaryAssignOp
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.Syntax: instance Data.Data.Data a => Data.Data.Data (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.Syntax: instance Data.Default.Class.Default Text.Parsec.Pos.SourcePos
+ Language.ECMAScript3.Syntax: instance Data.Default.Class.Default a => Data.Default.Class.Default (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.CaseClause
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.CatchClause
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.Expression
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.ForInInit
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.ForInit
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.Id
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.JavaScript
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.LValue
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.Prop
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.Statement
+ Language.ECMAScript3.Syntax: instance Data.Foldable.Foldable Language.ECMAScript3.Syntax.VarDecl
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.CaseClause
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.CatchClause
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.Expression
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.ForInInit
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.ForInit
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.Id
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.JavaScript
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.LValue
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.Prop
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.Statement
+ Language.ECMAScript3.Syntax: instance Data.Traversable.Traversable Language.ECMAScript3.Syntax.VarDecl
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.CaseClause
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.CatchClause
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.Expression
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.ForInInit
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.ForInit
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.Id
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.JavaScript
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.LValue
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.Prop
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.Statement
+ Language.ECMAScript3.Syntax: instance GHC.Base.Functor Language.ECMAScript3.Syntax.VarDecl
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq Language.ECMAScript3.Syntax.UnaryAssignOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord Language.ECMAScript3.Syntax.UnaryAssignOp
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.Syntax: instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.Syntax: instance GHC.Enum.Enum Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show Language.ECMAScript3.Syntax.EnclosingStatement
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show Language.ECMAScript3.Syntax.UnaryAssignOp
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.Syntax: instance GHC.Show.Show a => GHC.Show.Show (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.Syntax: instance Language.ECMAScript3.Syntax.HasLabelSet Language.ECMAScript3.Syntax.EnclosingStatement
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.CaseClause
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.CatchClause
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.Expression
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.Id
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.LValue
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.Prop
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.Statement
+ Language.ECMAScript3.Syntax.Annotations: instance Language.ECMAScript3.Syntax.Annotations.HasAnnotation Language.ECMAScript3.Syntax.VarDecl
+ Language.ECMAScript3.Syntax.Arbitrary: fixUpListExpr :: (Data a) => Expression a -> Gen (Expression a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Data.Data.Data a, Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Data.Data.Data a, Test.QuickCheck.Arbitrary.Arbitrary a, Test.Feat.Class.Enumerable a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance (Test.Feat.Class.Enumerable a, Test.QuickCheck.Arbitrary.Arbitrary a, Data.Data.Data a) => Test.QuickCheck.Arbitrary.Arbitrary (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.CaseClause a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.CatchClause a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.ForInInit a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.ForInit a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.JavaScript a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.Prop a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.Statement a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Data.Data.Data a => Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.VarDecl a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Language.ECMAScript3.Syntax.Arbitrary.Fixable (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable Language.ECMAScript3.Syntax.UnaryAssignOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.CaseClause a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.CatchClause a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.Expression a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.ForInInit a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.ForInit a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.Id a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.JavaScript a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.LValue a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.Prop a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.Statement a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.Feat.Class.Enumerable a0 => Test.Feat.Class.Enumerable (Language.ECMAScript3.Syntax.VarDecl a0)
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Language.ECMAScript3.Syntax.AssignOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Language.ECMAScript3.Syntax.InfixOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Language.ECMAScript3.Syntax.PrefixOp
+ Language.ECMAScript3.Syntax.Arbitrary: instance Test.QuickCheck.Arbitrary.Arbitrary Language.ECMAScript3.Syntax.UnaryAssignOp
+ Language.ECMAScript3.Syntax.CodeGen: instance Data.Default.Class.Default a => Data.String.IsString (Language.ECMAScript3.Syntax.Expression a)
+ Language.ECMAScript3.Syntax.CodeGen: instance Data.Default.Class.Default a => Data.String.IsString (Language.ECMAScript3.Syntax.Id a)
+ Language.ECMAScript3.Syntax.CodeGen: instance Data.Default.Class.Default a => Data.String.IsString (Language.ECMAScript3.Syntax.LValue a)
+ Language.ECMAScript3.Syntax.CodeGen: instance Data.Default.Class.Default a => Data.String.IsString (Language.ECMAScript3.Syntax.Prop a)
- Language.ECMAScript3.Syntax: isValid :: (Data a, Typeable a) => JavaScript a -> Bool
+ Language.ECMAScript3.Syntax: isValid :: forall a. (Data a, Typeable a) => JavaScript a -> Bool
- Language.ECMAScript3.Syntax.Annotations: withAnnotation :: HasAnnotation a => (b -> b) -> a b -> a b
+ Language.ECMAScript3.Syntax.Annotations: withAnnotation :: (HasAnnotation a) => (b -> b) -> a b -> a b
- Language.ECMAScript3.Syntax.Arbitrary: fixBreakContinue :: Data a => [Statement a] -> Gen [Statement a]
+ Language.ECMAScript3.Syntax.Arbitrary: fixBreakContinue :: (Data a) => [Statement a] -> Gen [Statement a]
- Language.ECMAScript3.Syntax.Arbitrary: fixUpFunExpr :: Data a => Expression a -> Gen (Expression a)
+ Language.ECMAScript3.Syntax.Arbitrary: fixUpFunExpr :: (Data a) => Expression a -> Gen (Expression a)
- Language.ECMAScript3.Syntax.Arbitrary: fixUpFunStmt :: Data a => Statement a -> Gen (Statement a)
+ Language.ECMAScript3.Syntax.Arbitrary: fixUpFunStmt :: (Data a) => Statement a -> Gen (Statement a)

Files

CHANGELOG view
@@ -1,4 +1,9 @@ Version change log.+=0.17.0.2=+Fixed a bug in the Arbitrary instance: no longer generating empty list expressions. Dependency bounds update.++=0.17.0.1=+Dependency bounds update.  =0.17= Added helper functions for code generation (see Language.ECMAScript3.Syntax.CodeGen). Bug fixes to the Arbitrary instances.
LICENSE view
@@ -1,5 +1,5 @@ Copyright (c) 2007--2012, Brown University, 2008-2012 Claudiu Saftoiu,-2012-2015 Stevens Institute of Technology.+2012-2016 Stevens Institute of Technology. All Rights Reserved.  Redistribution and use in source and binary forms, with or without
language-ecmascript.cabal view
@@ -1,8 +1,8 @@ Name:           language-ecmascript-Version:        0.17.0.1+Version:        0.17.0.2 Cabal-Version:	>= 1.10 Copyright:      (c) 2007-2012 Brown University, (c) 2008-2010 Claudiu Saftoiu,-                (c) 2012-2015 Stevens Institute of Technology+                (c) 2012-2016 Stevens Institute of Technology License:        BSD3 License-file:   LICENSE Author:         Andrey Chudnov, Arjun Guha, Spiridon Aristides Eliopoulos,@@ -29,7 +29,7 @@ Source-repository this    type: git    location: git://github.com/jswebtools/language-ecmascript.git-   tag: 0.17.0.1+   tag: 0.17.0.2  Library   Hs-Source-Dirs:@@ -85,7 +85,7 @@     containers == 0.*,     directory >= 1.2 && < 1.3,     filepath >= 1.3 && < 1.5,-    HUnit >= 1.2 && < 1.3,+    HUnit >= 1.2 && < 1.4,     QuickCheck >= 2.5 && < 3,     data-default-class >= 0.0.1 && < 0.1,     test-framework >= 0.8 && < 0.9,
src/Language/ECMAScript3/Syntax/Arbitrary.hs view
@@ -184,6 +184,8 @@                          :: Id a -> Gen (Id a))                      >=>transformBiM (fixUpFunExpr                                       :: Expression a -> Gen (Expression a))+                     >=>transformBiM (fixUpListExpr+                                      :: Expression a -> Gen (Expression a))                      >=>transformBiM (fixUpFunStmt                                       :: Statement a -> Gen (Statement a))                      >=>transformBiM (return . fixLValue@@ -193,42 +195,49 @@ instance (Data a) => Fixable (Expression a) where   fixUp = (fixUpFunExpr . transformBi (identifierFixup :: Id a -> Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))            instance (Data a) => Fixable (Statement a) where   fixUp = (fixUpFunStmt . transformBi (identifierFixup :: Id a -> Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))  instance (Data a) => Fixable (CaseClause a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))  instance (Data a) => Fixable (CatchClause a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))            instance (Data a) => Fixable (ForInit a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))            instance (Data a) => Fixable (ForInInit a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))            instance (Data a) => Fixable (VarDecl a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a)) @@ -238,12 +247,14 @@ instance (Data a) => Fixable (Prop a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))  instance (Data a) => Fixable (LValue a) where   fixUp = transformBiM (return . identifierFixup :: Id a -> Gen (Id a))        >=>transformBiM (fixUpFunExpr :: Expression a -> Gen (Expression a))+       >=>transformBiM (fixUpListExpr :: Expression a -> Gen (Expression a))        >=>transformBiM (fixUpFunStmt :: Statement a -> Gen (Statement a))        >=>transformBiM (return . fixLValue :: LValue a -> Gen (LValue a))        >=>(return . fixLValue)@@ -257,6 +268,11 @@ fixUpFunExpr :: (Data a) => Expression a -> Gen (Expression a) fixUpFunExpr e = case e of   FuncExpr a mid params body -> liftM (FuncExpr a mid params) $ fixBreakContinue body+  _ -> return e++fixUpListExpr :: (Data a) => Expression a -> Gen (Expression a)+fixUpListExpr e = case e of+  ListExpr a [] -> return $ NullLit a   _ -> return e  fixUpFunStmt :: (Data a) => Statement a -> Gen (Statement a)