packages feed

multistate 0.8.0.1 → 0.8.0.2

raw patch · 4 files changed

+19/−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: class HInit (l1 :: [*])
+ Data.HList.HList: class HInit (l1 :: [Type])
- Data.HList.HList: data HList :: [*] -> *
+ Data.HList.HList: data HList :: [Type] -> Type

Files

changelog.md view
@@ -1,5 +1,10 @@ # Changelog for [`multistate` package](https://hackage.haskell.org/package/multistate) +## 0.8.0.2 *June 2019*++  * Adapt for ghc-8.8 (optimistically; QuickCheck does not build so+    tests are untested)+ ## 0.8.0.1 *October 2018*    * Adapt for ghc-8.6 (really, this time)
multistate.cabal view
@@ -1,5 +1,5 @@ Name:          multistate-Version:       0.8.0.1+Version:       0.8.0.2 Cabal-Version: >= 1.10 Build-Type:    Simple license:       BSD3@@ -69,7 +69,7 @@   other-modules:     Control.Monad.Trans.MultiGST.Common   build-depends:-    base         >= 4.9   && <4.13,+    base         >= 4.9   && <4.14,     mtl          >= 2.1   && <2.3,     transformers >= 0.3   && <0.6,     tagged       >= 0.7   && <0.9,@@ -87,6 +87,7 @@     LambdaCase   ghc-options: {     -Wall+    -Wcompat     -fno-warn-unused-imports   }   if impl(ghc > 8.0) {@@ -107,7 +108,7 @@     multistate,     base <999,     transformers <0.6,-    hspec >=2 && <2.6+    hspec >=2 && <2.8   ghc-options:      -Wall   main-is:          Test.hs   hs-source-dirs:   test
src/Control/Monad/Trans/MultiGST/Common.hs view
@@ -25,6 +25,7 @@   +import Data.Kind (Type) import Data.Semigroup import qualified Data.HList.HList as HList @@ -121,7 +122,7 @@   CanWriteConstraint 'TellableFlag = ()   CanWriteConstraint 'SettableFlag = () -data HListM :: [CanReadWrite *] -> * where+data HListM :: [CanReadWrite Type] -> Type where   HNilM :: HListM '[]   (:+-:) :: x -> HListM xr -> HListM ('Gettable x ': xr)   (:++:) :: x -> HListM xr -> HListM ('Settable x ': xr)@@ -154,20 +155,20 @@     x1 :++: xr1 == x2 :++: xr2 = x1==x2 && xr1==xr2     x1 :++: xr1 /= x2 :++: xr2 = x1/=x2 || xr1/=xr2 -type family AppendM (l1 :: [CanReadWrite *]) (l2 :: [CanReadWrite *]) :: [CanReadWrite *] where+type family AppendM (l1 :: [CanReadWrite Type]) (l2 :: [CanReadWrite Type]) :: [CanReadWrite Type] where   AppendM '[] l2 = l2   AppendM (car1 ': cdr2) l2 = car1 ': AppendM cdr2 l2 -type family HListMReaders (l :: [*]) :: [CanReadWrite *] where+type family HListMReaders (l :: [Type]) :: [CanReadWrite Type] where   HListMReaders '[] = '[]   HListMReaders (t ': tr) = 'Gettable t ': HListMReaders tr -type family AppendMReaders (l1 :: [*]) (l2 :: [CanReadWrite *]) :: [CanReadWrite *] where+type family AppendMReaders (l1 :: [Type]) (l2 :: [CanReadWrite Type]) :: [CanReadWrite Type] where   AppendMReaders '[] l2 = l2   AppendMReaders (t ': tr) l2 = 'Gettable t ': AppendMReaders tr l2  class HListMGettableClass ts where-  type HListMGettableOnly ts :: [*]+  type HListMGettableOnly ts :: [Type]   hListMGettableOnly :: HListM ts -> HList.HList (HListMGettableOnly ts)  instance HListMGettableClass '[] where
src/Data/HList/HList.hs view
@@ -22,6 +22,7 @@  import Prelude hiding (reverse) +import Data.Kind (Type) import Data.Monoid (Monoid, mappend, mempty) import Data.Semigroup @@ -29,7 +30,7 @@   -data HList :: [*] -> * where+data HList :: [Type] -> Type where   HNil :: HList '[]   (:+:) :: x -> HList xs -> HList (x ': xs)   -- TCons :: x -> HList xs -> HList (Cons x xs)@@ -72,7 +73,7 @@ -- cannot use the closed variant because of ghc-7.8.4. -- (was not investigated more closely; there simply --  is some syntax error for code which works fine with ghc-7.10.)-type family Append (l1::[*]) (l2::[*]) :: [*]+type family Append (l1::[Type]) (l2::[Type]) :: [Type] type instance Append '[] l2 = l2 type instance Append (car1 ': cdr2) l2 = car1 ': Append cdr2 l2 @@ -80,7 +81,7 @@ hAppend HNil l = l hAppend (x:+:xs) l = x :+: hAppend xs l -class HInit (l1 :: [*]) where+class HInit (l1 :: [Type]) where   hInit :: forall l2 . Proxy l2 -> HList (Append l1 l2) -> HList l1   hSplit :: forall l2 . HList (Append l1 l2) -> (HList l1, HList l2)