diff --git a/src/Language/Haskell/Liquid/Types.hs b/src/Language/Haskell/Liquid/Types.hs index fdbb30ac28..d97f6dd96e 100644 --- a/src/Language/Haskell/Liquid/Types.hs +++ b/src/Language/Haskell/Liquid/Types.hs @@ -399,7 +399,7 @@ data TyConP = TyConP { freeTyVarsTy :: ![RTyVar] , varianceTs :: !VarianceInfo , variancePs :: !VarianceInfo , sizeFun :: !(Maybe (Symbol -> Expr)) - } deriving (Data, Typeable) + } deriving (Generic, Data, Typeable) data DataConP = DataConP { dc_loc :: !SourcePos , freeTyVars :: ![RTyVar] @@ -409,8 +409,10 @@ data DataConP = DataConP { dc_loc :: !SourcePos , tyArgs :: ![(Symbol, SpecType)] -- ^ These are backwards, why?? , tyRes :: !SpecType , dc_locE :: !SourcePos - } deriving (Data, Typeable) + } deriving (Generic, Data, Typeable) +-- instance {-# OVERLAPPING #-} Data TyConP +-- instance {-# OVERLAPPING #-} Data DataConP -- | Which Top-Level Binders Should be Verified data TargetVars = AllVars | Only ![Var] @@ -590,6 +592,7 @@ data TyConInfo = TyConInfo , sizeFunction :: !(Maybe (Symbol -> Expr)) -- ^ logical function that computes the size of the structure } deriving (Generic, Data, Typeable) +-- instance {-# OVERLAPPING #-} Data TyConInfo instance Show TyConInfo where show (TyConInfo x y _) = show x ++ "\n" ++ show y @@ -1035,7 +1038,7 @@ instance (PPrint r, Reftable r) => Reftable (UReft r) where toReft (U r ps _) = toReft r `meet` toReft ps params (U r _ _) = params r bot (U r _ s) = U (bot r) (Pr []) (bot s) - top (U r p s) = U (top r) (top p) (top s) + top (U r p s) = U (top r) (top p) s ofReft r = U (ofReft r) mempty mempty @@ -1665,11 +1668,11 @@ data CMeasure ty , cSort :: ty } -data Def ty ctor - = Def { +data Def ty ctor + = Def { measure :: LocSymbol , dparams :: [(Symbol, ty)] - , ctor :: ctor + , ctor :: ctor , dsort :: Maybe ty , binds :: [(Symbol, Maybe ty)] , body :: Body @@ -1852,4 +1855,3 @@ liquidBegin = ['{', '-', '@'] liquidEnd :: String liquidEnd = ['@', '-', '}'] -