From e217600b61107a79f1e324aea4c8d0a18b15912a Mon Sep 17 00:00:00 2001 From: "Iavor S. Diatchki" Date: Tue, 6 Jan 2015 09:21:47 -0800 Subject: [PATCH] Changes to make things work with GHC 7.10 --- cryptol.cabal | 2 +- sbv/Data/SBV/BitVectors/Data.hs | 20 ++++++++++---------- src/Cryptol/Parser/NoInclude.hs | 4 ++++ src/Cryptol/Symbolic/Prims.hs | 1 + src/Cryptol/Transform/MonoValues.hs | 1 + src/Cryptol/TypeCheck/Subst.hs | 1 + 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/cryptol.cabal b/cryptol.cabal index c1183ccf..8aae84de 100644 --- a/cryptol.cabal +++ b/cryptol.cabal @@ -34,7 +34,7 @@ library monadLib >= 3.7.2, mtl >= 2.2.1, old-time >= 1.1, - presburger >= 1.1, + presburger >= 1.3, pretty >= 1.1, process >= 1.2, QuickCheck >= 2.7, diff --git a/sbv/Data/SBV/BitVectors/Data.hs b/sbv/Data/SBV/BitVectors/Data.hs index 5712e21e..5a81ead4 100644 --- a/sbv/Data/SBV/BitVectors/Data.hs +++ b/sbv/Data/SBV/BitVectors/Data.hs @@ -1262,8 +1262,8 @@ data SMTLibVersion = SMTLib1 data SMTLibPgm = SMTLibPgm SMTLibVersion ( [(String, SW)] -- alias table , [String] -- pre: declarations. , [String]) -- post: formula -instance NFData SMTLibVersion -instance NFData SMTLibPgm +instance NFData SMTLibVersion where rnf _ = () +instance NFData SMTLibPgm where rnf _ = () instance Show SMTLibPgm where show (SMTLibPgm _ (_, pre, post)) = intercalate "\n" $ pre ++ post @@ -1278,18 +1278,18 @@ instance NFData Result where `seq` rnf consts `seq` rnf tbls `seq` rnf arrs `seq` rnf uis `seq` rnf axs `seq` rnf pgm `seq` rnf cstr `seq` rnf outs -instance NFData Kind -instance NFData ArrayContext -instance NFData SW -instance NFData SBVExpr -instance NFData Quantifier -instance NFData SBVType -instance NFData UnintKind +instance NFData Kind where rnf _ = () +instance NFData ArrayContext where rnf _ = () +instance NFData SW where rnf _ = () +instance NFData SBVExpr where rnf _ = () +instance NFData Quantifier where rnf _ = () +instance NFData SBVType where rnf _ = () +instance NFData UnintKind where rnf _ = () instance NFData a => NFData (Cached a) where rnf (Cached f) = f `seq` () instance NFData a => NFData (SBV a) where rnf (SBV x y) = rnf x `seq` rnf y `seq` () -instance NFData SBVPgm +instance NFData SBVPgm where rnf _ = () instance NFData SMTResult where rnf (Unsatisfiable _) = () diff --git a/src/Cryptol/Parser/NoInclude.hs b/src/Cryptol/Parser/NoInclude.hs index 97d5f3f2..1b03c7f4 100644 --- a/src/Cryptol/Parser/NoInclude.hs +++ b/src/Cryptol/Parser/NoInclude.hs @@ -63,6 +63,10 @@ tryNoIncM m = M (try (unM m)) instance Functor NoIncM where fmap = liftM +instance Applicative NoIncM where + pure = return + (<*>) = ap + instance Monad NoIncM where return x = M (return x) m >>= f = M (unM m >>= unM . f) diff --git a/src/Cryptol/Symbolic/Prims.hs b/src/Cryptol/Symbolic/Prims.hs index 30c9f150..abd88370 100644 --- a/src/Cryptol/Symbolic/Prims.hs +++ b/src/Cryptol/Symbolic/Prims.hs @@ -8,6 +8,7 @@ {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ViewPatterns #-} +{-# LANGUAGE FlexibleContexts #-} module Cryptol.Symbolic.Prims where import Control.Applicative diff --git a/src/Cryptol/Transform/MonoValues.hs b/src/Cryptol/Transform/MonoValues.hs index 3a1db7e1..d0f6272a 100644 --- a/src/Cryptol/Transform/MonoValues.hs +++ b/src/Cryptol/Transform/MonoValues.hs @@ -73,6 +73,7 @@ -- XXX: Make sure that this really is the case for types!! {-# LANGUAGE PatternGuards, FlexibleInstances, MultiParamTypeClasses #-} +{-# LANGUAGE FlexibleContexts #-} module Cryptol.Transform.MonoValues (rewModule) where import Cryptol.Parser.AST (Pass(MonoValues)) diff --git a/src/Cryptol/TypeCheck/Subst.hs b/src/Cryptol/TypeCheck/Subst.hs index e4edc309..f21a5c5d 100644 --- a/src/Cryptol/TypeCheck/Subst.hs +++ b/src/Cryptol/TypeCheck/Subst.hs @@ -9,6 +9,7 @@ {-# LANGUAGE PatternGuards #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE Safe #-} module Cryptol.TypeCheck.Subst where