packages feed

STMonadTrans 0.3.1 → 0.3.2

raw patch · 3 files changed

+17/−12 lines, 3 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

Control/Monad/ST/Trans.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MagicHash, UnboxedTuples, Rank2Types, FlexibleInstances,+{-# LANGUAGE CPP, MagicHash, UnboxedTuples, Rank2Types, FlexibleInstances,     MultiParamTypeClasses, UndecidableInstances, RecursiveDo #-} {- |    Module      :  Control.Monad.ST.Trans@@ -66,6 +66,11 @@ import Unsafe.Coerce import System.IO.Unsafe +#if __GLASGOW_HASKELL__ < 708+isTrue# :: Bool -> Bool+isTrue# x = x+#endif+ instance Monad m => Monad (STT s m) where   return a = STT $ \st -> return (STTRet st a)   STT m >>= k = STT $ \st -> @@ -122,7 +127,7 @@       st2 -> return (STTRet st2 ())  instance Eq (STRef s a) where-  STRef v1 == STRef v2 = sameMutVar# v1 v2+  STRef v1 == STRef v2 = isTrue# (sameMutVar# v1 v2)  -- | Executes a computation in the 'STT' monad transformer runST :: Monad m => (forall s. STT s m a) -> m a@@ -159,7 +164,7 @@ data STArray s i e = STArray !i !i !Int (MutableArray# s e)  instance Eq (STArray s i e) where-  STArray _ _ _ arr1# == STArray _ _ _ arr2# = sameMutableArray# arr1# arr2#+  STArray _ _ _ arr1# == STArray _ _ _ arr2# = isTrue# (sameMutableArray# arr1# arr2#)  -- | Creates a new mutable array newSTArray :: (Ix i, Monad m) => (i,i) -> e -> STT s m (STArray s i e)@@ -200,8 +205,8 @@ freezeSTArray :: (Ix i,Monad m) => STArray s i e -> STT s m (Array i e) freezeSTArray (STArray l u n@(I# n#) marr#) = STT $ \s1# ->     case newArray# n# arrEleBottom s1#  of { (# s2#, marr'# #) ->-    let copy i# s3# | i# ==# n# = s3#-                    | otherwise =+    let copy i# s3# | isTrue# (i# ==# n#) = s3#+                    | otherwise           =             case readArray# marr# i# s3# of { (# s4#, e #) ->             case writeArray# marr'# i# e s4# of { s5# ->             copy (i# +# 1#) s5# }} in@@ -218,8 +223,8 @@ thawSTArray :: (Ix i, Monad m) => Array i e -> STT s m (STArray s i e) thawSTArray (Array l u n@(I# n#) arr#) = STT $ \s1# ->     case newArray# n# arrEleBottom s1#  of { (# s2#, marr# #) ->-    let copy i# s3# | i# ==# n# = s3#-                    | otherwise =+    let copy i# s3# | isTrue# (i# ==# n#) = s3#+                    | otherwise           =             case indexArray# arr# i#    of { (# e #) ->             case writeArray# marr# i# e s3# of { s4# ->             copy (i# +# 1#) s4# }} in
Control/Monad/ST/Trans/Internal.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE MagicHash, UnboxedTuples, Rank2Types, FlexibleInstances,-    MultiParamTypeClasses, UndecidableInstances, DoRec #-}+    MultiParamTypeClasses, UndecidableInstances, RecursiveDo #-} {- |    Module      :  Control.Monad.ST.Trans    Copyright   :  Josef Svenningsson 2008-2010
STMonadTrans.cabal view
@@ -1,5 +1,5 @@ name:		STMonadTrans-version:	0.3.1+version:	0.3.2 cabal-version:  >= 1.6 license:	BSD3 license-file:	LICENSE@@ -19,8 +19,8 @@    combinations of their corresponding monad transformers.  source-repository head-  type:     darcs-  location: http://patch-tag.com/r/josef/STMonadTrans+  type:     git+  location: https://github.com/josefs/STMonadTrans  flag splitBase   description: Choose the new smaller, split-up base package.@@ -34,6 +34,6 @@   exposed-modules:	     Control.Monad.ST.Trans,     Control.Monad.ST.Trans.Internal-  extensions:	MagicHash, UnboxedTuples, Rank2Types, FlexibleInstances, +  extensions:	CPP, MagicHash, UnboxedTuples, Rank2Types, FlexibleInstances,         MultiParamTypeClasses, UndecidableInstances