@@ -1,4 +1,3 @@
1−{-# LANGUAGE DeriveDataTypeable #-}
21{-# LANGUAGE ScopedTypeVariables #-}
32{-# LANGUAGE TemplateHaskell #-}
43{-# LANGUAGE LambdaCase #-}
@@ -15,7 +14,6 @@ import Data.Aeson.TH
1514import Data.List (nub, (\\))
1615import Data.Maybe (mapMaybe)
1716
18−import qualified Data.Data as D
1917import qualified Data.Map as M
2018
2119import Control.Monad.Identity
@@ -35,7 +33,8 @@ import Language.PureScript.Environment
3533-- a list of declarations, and a list of the declarations that are
3634-- explicitly exported. If the export list is Nothing, everything is exported.
3735--
38−data Module = Module SourceSpan [Comment] ModuleName [Declaration] (Maybe [DeclarationRef]) deriving (Show, Read, D.Data, D.Typeable)
36+data Module = Module SourceSpan [Comment] ModuleName [Declaration] (Maybe [DeclarationRef])
37+ deriving (Show, Read)
3938
4039-- | Return a module's name.
4140getModuleName :: Module -> ModuleName
@@ -85,7 +84,7 @@ data DeclarationRef
8584 -- A declaration reference with source position information
8685 --
8786 | PositionedDeclarationRef SourceSpan [Comment] DeclarationRef
88− deriving (Show, Read, D.Data, D.Typeable)
87+ deriving (Show, Read)
8988
9089instance Eq DeclarationRef where
9190 (TypeRef name dctors) == (TypeRef name' dctors') = name == name' && dctors == dctors'
@@ -141,7 +140,7 @@ data ImportDeclarationType
141140 -- An import with a list of references to hide: `import M hiding (foo)`
142141 --
143142 | Hiding [DeclarationRef]
144− deriving (Eq, Show, Read, D.Data, D.Typeable)
143+ deriving (Eq, Show, Read)
145144
146145isImplicit :: ImportDeclarationType -> Bool
147146isImplicit Implicit = True
@@ -205,7 +204,7 @@ data Declaration
205204 -- A declaration with source position information
206205 --
207206 | PositionedDeclaration SourceSpan [Comment] Declaration
208− deriving (Show, Read, D.Data, D.Typeable)
207+ deriving (Show, Read)
209208
210209-- | The members of a type class instance declaration
211210data TypeInstanceBody
@@ -213,7 +212,7 @@ data TypeInstanceBody
213212 = DerivedInstance
214213 -- | This is a regular (explicit) instance
215214 | ExplicitInstance [Declaration]
216− deriving (Show, Read, D.Data, D.Typeable)
215+ deriving (Show, Read)
217216
218217mapTypeInstanceBody :: ([Declaration] -> [Declaration]) -> TypeInstanceBody -> TypeInstanceBody
219218mapTypeInstanceBody f = runIdentity . traverseTypeInstanceBody (Identity . f)
@@ -432,7 +431,8 @@ data Expr
432431 -- |
433432 -- A value with source position information
434433 --
435− | PositionedValue SourceSpan [Comment] Expr deriving (Show, Read, D.Data, D.Typeable)
434+ | PositionedValue SourceSpan [Comment] Expr
435+ deriving (Show, Read)
436436
437437-- |
438438-- An alternative in a case statement
@@ -446,7 +446,7 @@ data CaseAlternative = CaseAlternative
446446 -- The result expression or a collect of guarded expressions
447447 --
448448 , caseAlternativeResult :: Either [(Guard, Expr)] Expr
449− } deriving (Show, Read, D.Data, D.Typeable)
449+ } deriving (Show, Read)
450450
451451-- |
452452-- A statement in a do-notation block
@@ -467,7 +467,8 @@ data DoNotationElement
467467 -- |
468468 -- A do notation element with source position information
469469 --
470− | PositionedDoNotationElement SourceSpan [Comment] DoNotationElement deriving (Show, Read, D.Data, D.Typeable)
470+ | PositionedDoNotationElement SourceSpan [Comment] DoNotationElement
471+ deriving (Show, Read)
471472
472473$(deriveJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) ''DeclarationRef)
473474$(deriveJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) ''ImportDeclarationType)