packages feed

hoopl 3.10.2.0 → 3.10.2.1

raw patch · 7 files changed

+38/−39 lines, 7 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

changelog.md view
@@ -1,6 +1,19 @@ # Changelog for [`hoopl` package](http://hackage.haskell.org/package/hoopl) -## 3.10.1.1 *Aug 2015*+## 3.10.2.1 *Dec 2015*+  This release includes only non-functional changes.++ - Rewrite Applicative/Monad instances into normal-form++ - Relax the upper bound constraint of base to include 4.9++ - Replace `#if CABAL` macro by no CPP at all++ - Wrap redudant wild card pattens in conditional compilation ++ - Prefix unused type variables with underscores. ++## 3.10.2.0 *Aug 2015*   - Add #if CABAL macro to several hoopl source files such that the Cabal generated macro is not included when building in ghci 
hoopl.cabal view
@@ -1,5 +1,5 @@ Name:                hoopl-Version:             3.10.2.0+Version:             3.10.2.1 -- NOTE: Don't forget to update ./changelog.md Description:   Higher-order optimization library@@ -45,7 +45,7 @@     Other-Extensions: Safe Trustworthy    Hs-Source-Dirs:    src-  Build-Depends:     base >= 4.3 && < 4.9, containers >= 0.4 && < 0.6+  Build-Depends:     base >= 4.3 && < 4.10, containers >= 0.4 && < 0.6   Exposed-Modules:   Compiler.Hoopl,                      Compiler.Hoopl.Internals,                      Compiler.Hoopl.Wrappers,@@ -78,7 +78,7 @@   Type:              exitcode-stdio-1.0   Main-Is:           Main.hs   Hs-Source-Dirs:    testing src-  Build-Depends:     base >= 4.3 && < 4.9, +  Build-Depends:     base >= 4.3 && < 4.10,                       containers >= 0.4 && < 0.6,                      filepath,                      mtl >= 2.1.3.1,
src/Compiler/Hoopl/Block.hs view
@@ -58,8 +58,8 @@  -- | Either type indexed by closed/open using type families type family IndexedCO ex a b :: *-type instance IndexedCO C a b = a-type instance IndexedCO O a b = b+type instance IndexedCO C a _b = a+type instance IndexedCO O _a b = b  -- | Maybe type indexed by open/closed data MaybeO ex t where
src/Compiler/Hoopl/Dataflow.hs view
@@ -247,7 +247,9 @@                 -> Fact e f -> m (DG f n e C, Fact C f)              c NothingC (JustO entry)   = block entry `cat` body (successors entry) bdy              c (JustC entries) NothingO = body entries bdy+#if __GLASGOW_HASKELL__ < 711              c _ _ = error "bogus GADT pattern match failure"+#endif      -- Lift from nodes to blocks -- @ start block.tex -2@@ -439,7 +441,9 @@                 -> Fact C f -> m (DG f n e C, Fact e f)              c NothingC (JustO entry)   = block entry `cat` body (successors entry) bdy              c (JustC entries) NothingO = body entries bdy+#if __GLASGOW_HASKELL__ < 711              c _ _ = error "bogus GADT pattern match failure"+#endif      -- Lift from nodes to blocks     block BNil          = \f -> return (dgnil, f)
src/Compiler/Hoopl/Fuel.hs view
@@ -21,14 +21,7 @@ import Compiler.Hoopl.Checkpoint import Compiler.Hoopl.Unique -#if CABAL-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative (Applicative(..))-#endif-#else-import Control.Applicative (Applicative(..))-#endif-+import Control.Applicative as AP (Applicative(..)) import Control.Monad (ap,liftM)  class Monad m => FuelMonad m where@@ -64,11 +57,11 @@   fmap  = liftM  instance Monad m => Applicative (CheckingFuelMonad m) where-  pure  = return+  pure a = FM (\f -> return (a, f))   (<*>) = ap  instance Monad m => Monad (CheckingFuelMonad m) where-  return a = FM (\f -> return (a, f))+  return = AP.pure   fm >>= k = FM (\f -> do { (a, f') <- unFM fm f; unFM (k a) f' })  instance CheckpointMonad m => CheckpointMonad (CheckingFuelMonad m) where@@ -96,11 +89,11 @@   fmap  = liftM  instance Monad m => Applicative (InfiniteFuelMonad m) where-  pure  = return+  pure a = IFM $ return a   (<*>) = ap  instance Monad m => Monad (InfiniteFuelMonad m) where-  return a = IFM $ return a+  return = pure   m >>= k  = IFM $ do { a <- unIFM m; unIFM (k a) }  instance UniqueMonad m => UniqueMonad (InfiniteFuelMonad m) where
src/Compiler/Hoopl/Graph.hs view
@@ -46,13 +46,7 @@ import Compiler.Hoopl.Block import Compiler.Hoopl.Label -#if CABAL-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative (Applicative(..))-#endif-#else-import Control.Applicative (Applicative(..))-#endif+import Control.Applicative as AP (Applicative(..)) import Control.Monad (ap,liftM,liftM2)  -- -----------------------------------------------------------------------------@@ -199,7 +193,9 @@         sp (GMany e1 b1 NothingO) (GMany NothingO b2 x2)           = {-# SCC "sp5" #-} (GMany e1 $! b1 `bodyUnion` b2) x2 +#if __GLASGOW_HASKELL__ < 711         sp _ _ = error "bogus GADT match failure"+#endif  gSplice :: NonLocal n => Graph n e a -> Graph n a x -> Graph n e x gSplice = splice blockAppend@@ -358,11 +354,11 @@   fmap  = liftM  instance Applicative VM where-  pure  = return+  pure a = VM $ \visited -> (a, visited)   (<*>) = ap  instance Monad VM where-  return a = VM $ \visited -> (a, visited)+  return = AP.pure   m >>= k  = VM $ \visited -> let (a, v') = unVM m visited in unVM (k a) v'  marked :: Label -> VM Bool
src/Compiler/Hoopl/Unique.hs view
@@ -24,14 +24,7 @@ import qualified Data.IntMap as M import qualified Data.IntSet as S -#ifdef CABAL-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif-#else-import Control.Applicative-#endif-+import Control.Applicative as AP import Control.Monad (ap,liftM)  -----------------------------------------------------------------------------@@ -123,11 +116,11 @@   fmap = liftM  instance Applicative SimpleUniqueMonad where-  pure  = return+  pure a = SUM $ \us -> (a, us)   (<*>) = ap  instance Monad SimpleUniqueMonad where-  return a = SUM $ \us -> (a, us)+  return = AP.pure   m >>= k  = SUM $ \us -> let (a, us') = unSUM m us in                               unSUM (k a) us' @@ -152,11 +145,11 @@   fmap  = liftM  instance Monad m => Applicative (UniqueMonadT m) where-  pure  = return+  pure a = UMT $ \us -> return (a, us)   (<*>) = ap  instance Monad m => Monad (UniqueMonadT m) where-  return a = UMT $ \us -> return (a, us)+  return = pure   m >>= k  = UMT $ \us -> do { (a, us') <- unUMT m us; unUMT (k a) us' }  instance Monad m => UniqueMonad (UniqueMonadT m) where