packages feed

multistate 0.7.1.1 → 0.7.1.2

raw patch · 4 files changed

+21/−11 lines, 4 filesdep ~basedep ~hspecPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, hspec

API changes (from Hackage documentation)

- Data.HList.HList: (:+:) :: x -> HList xs -> HList (x : xs)
- Data.HList.HList: HNil :: HList '[]
+ Data.HList.HList: [:+:] :: x -> HList xs -> HList (x : xs)
+ Data.HList.HList: [HNil] :: HList '[]
- Control.Monad.MultiWriter: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.MultiWriter: withMultiWriters :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.MultiWriter: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.MultiWriter: withMultiWritersAW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.MultiWriter: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
+ Control.Monad.MultiWriter: withMultiWritersW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
- Control.Monad.MultiWriter: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
+ Control.Monad.MultiWriter: withMultiWritersWA :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
- Control.Monad.Trans.MultiRWS: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
+ Control.Monad.Trans.MultiRWS: withMultiWriters :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
- Control.Monad.Trans.MultiRWS: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
+ Control.Monad.Trans.MultiRWS: withMultiWritersAW :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
- Control.Monad.Trans.MultiRWS: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1)
+ Control.Monad.Trans.MultiRWS: withMultiWritersW :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1)
- Control.Monad.Trans.MultiRWS: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1, a)
+ Control.Monad.Trans.MultiRWS: withMultiWritersWA :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1, a)
- Control.Monad.Trans.MultiRWS.Lazy: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
+ Control.Monad.Trans.MultiRWS.Lazy: withMultiWriters :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
- Control.Monad.Trans.MultiRWS.Lazy: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
+ Control.Monad.Trans.MultiRWS.Lazy: withMultiWritersAW :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
- Control.Monad.Trans.MultiRWS.Lazy: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1)
+ Control.Monad.Trans.MultiRWS.Lazy: withMultiWritersW :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1)
- Control.Monad.Trans.MultiRWS.Lazy: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1, a)
+ Control.Monad.Trans.MultiRWS.Lazy: withMultiWritersWA :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1, a)
- Control.Monad.Trans.MultiRWS.Strict: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
+ Control.Monad.Trans.MultiRWS.Strict: withMultiWriters :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
- Control.Monad.Trans.MultiRWS.Strict: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
+ Control.Monad.Trans.MultiRWS.Strict: withMultiWritersAW :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (a, HList w1)
- Control.Monad.Trans.MultiRWS.Strict: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1)
+ Control.Monad.Trans.MultiRWS.Strict: withMultiWritersW :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1)
- Control.Monad.Trans.MultiRWS.Strict: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1, a)
+ Control.Monad.Trans.MultiRWS.Strict: withMultiWritersWA :: forall r w1 w2 s m a. (Monoid (HList w1), Monad m, HInit w1) => MultiRWST r (Append w1 w2) s m a -> MultiRWST r w2 s m (HList w1, a)
- Control.Monad.Trans.MultiWriter: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.Trans.MultiWriter: withMultiWriters :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.Trans.MultiWriter: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.Trans.MultiWriter: withMultiWritersAW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.Trans.MultiWriter: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
+ Control.Monad.Trans.MultiWriter: withMultiWritersW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
- Control.Monad.Trans.MultiWriter: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
+ Control.Monad.Trans.MultiWriter: withMultiWritersWA :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
- Control.Monad.Trans.MultiWriter.Lazy: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.Trans.MultiWriter.Lazy: withMultiWriters :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.Trans.MultiWriter.Lazy: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.Trans.MultiWriter.Lazy: withMultiWritersAW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.Trans.MultiWriter.Lazy: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
+ Control.Monad.Trans.MultiWriter.Lazy: withMultiWritersW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
- Control.Monad.Trans.MultiWriter.Lazy: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
+ Control.Monad.Trans.MultiWriter.Lazy: withMultiWritersWA :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
- Control.Monad.Trans.MultiWriter.Strict: withMultiWriters :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.Trans.MultiWriter.Strict: withMultiWriters :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.Trans.MultiWriter.Strict: withMultiWritersAW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
+ Control.Monad.Trans.MultiWriter.Strict: withMultiWritersAW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (a, HList w1)
- Control.Monad.Trans.MultiWriter.Strict: withMultiWritersW :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
+ Control.Monad.Trans.MultiWriter.Strict: withMultiWritersW :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1)
- Control.Monad.Trans.MultiWriter.Strict: withMultiWritersWA :: (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
+ Control.Monad.Trans.MultiWriter.Strict: withMultiWritersWA :: forall w1 w2 m a. (Monoid (HList w1), Monad m, HInit w1) => MultiWriterT (Append w1 w2) m a -> MultiWriterT w2 m (HList w1, a)
- Data.HList.HList: hInit :: HInit l1 => Proxy l2 -> HList (Append l1 l2) -> HList l1
+ Data.HList.HList: hInit :: forall l2. HInit l1 => Proxy l2 -> HList (Append l1 l2) -> HList l1
- Data.HList.HList: hSplit :: HInit l1 => HList (Append l1 l2) -> (HList l1, HList l2)
+ Data.HList.HList: hSplit :: forall l2. HInit l1 => HList (Append l1 l2) -> (HList l1, HList l2)

Files

LICENSE view
@@ -1,4 +1,5 @@-Copyright 2013-2014 Jan Bracker, Lennart Spitzner.+Copyright 2013-2014 Jan Bracker+Copyright 2013-2017 Lennart Spitzner All rights reserved.  Redistribution and use in source and binary forms, with or without
changelog.md view
@@ -1,5 +1,11 @@ # Changelog for [`multistate` package](https://hackage.haskell.org/package/multistate) +** 0.7.1.2 *August 2017*++  * Adapt for ghc-8.2+  +  * Minor strictness fix for MultiRWS+ ## 0.7.1.1 *May 2016*    * Adapt for ghc-8
multistate.cabal view
@@ -1,11 +1,11 @@ Name:          multistate-Version:       0.7.1.1+Version:       0.7.1.2 Cabal-Version: >= 1.10 Build-Type:    Simple license:       BSD3 license-file:  LICENSE-Copyright:     Jan Bracker, Lennart Spitzner-Maintainer:    Lennart Spitzner <lsp@informatik.uni-kiel.de>+Copyright:     Copyright (C) 2013-2017 Jan Bracker, 2013-2016 Lennart Spitzner+Maintainer:    Lennart Spitzner <hexagoxel@hexagoxel.de> Author:        Jan Bracker, Lennart Spitzner Homepage:      https://github.com/lspitzner/multistate Bug-reports:   https://github.com/lspitzner/multistate/issues@@ -31,9 +31,10 @@     README.md     changelog.md -source-repository head+source-repository head {   type: git   location: git@github.com:lspitzner/multistate.git+}  flag build-example   description: Build the MultiState-example example program@@ -65,7 +66,7 @@     Control.Monad.Trans.MultiRWS.Strict   other-modules:   build-depends:-    base         >= 4.6   && <4.10,+    base         >= 4.6   && <4.11,     mtl          >= 2.1   && <2.3,     transformers >= 0.3   && <0.6,     tagged       >= 0.7   && <0.9,@@ -104,9 +105,9 @@     -- no version constraints necessary, because they are already     -- given by library     multistate,-    base <4.10,+    base <4.11,     transformers <0.6,-    hspec <2.3+    hspec >=2 && <2.5   ghc-options:      -Wall   main-is:          Test.hs   hs-source-dirs:   test@@ -121,7 +122,7 @@       -- no version constraints necessary, because they are already       -- given by library       multistate,-      base <4.10,+      base <4.11,       mtl <2.3,       transformers <0.6   } else {
src/Control/Monad/Trans/MultiRWS/Strict.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE BangPatterns #-}  -- | The multi-valued version of mtl's RWS / RWST module Control.Monad.Trans.MultiRWS.Strict@@ -156,7 +157,8 @@       => MonadMultiWriter a (MultiRWST r w s m) where   mTell v = MultiRWST $ do     (r,w,s) <- get-    put $ (r, setHListElem (getHListElem w `mappend` v) w, s)+    let !x' = getHListElem w `mappend` v+    put $ (r, setHListElem x' w, s)  #if MIN_VERSION_base(4,8,0) instance {-# OVERLAPPING #-} (Monad m, ContainsType a s)@@ -164,7 +166,7 @@ instance (Monad m, ContainsType a s) #endif       => MonadMultiState a (MultiRWST r w s m) where-  mSet v = MultiRWST $ do+  mSet !v = MultiRWST $ do     (r,w,s) <- get     put (r, w, setHListElem v s)   mGet = MultiRWST $ do