strict-io 0.1 → 0.1.1
raw patch · 5 files changed
+31/−31 lines, 5 filesdep +deepseqdep −paralleldep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: deepseq
Dependencies removed: parallel
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- Data/IORef/Strict.hs +1/−2
- LICENSE +23/−21
- System/IO/Strict.hs +3/−3
- System/IO/Strict/Internals.hs +1/−2
- strict-io.cabal +3/−3
Data/IORef/Strict.hs view
@@ -24,12 +24,11 @@ ) where -import qualified System.IO.Strict.Internals as SIO import System.IO.Strict.Internals (SIO(..)) import System.Mem.Weak (Weak) import qualified Data.IORef as IO import Data.IORef (IORef)-import Control.Parallel.Strategies (NFData(..))+import Control.DeepSeq (NFData(..)) -- | Build a new 'IORef', but force the value before storing it. newIORef :: NFData sa => sa -> SIO (IORef sa)
LICENSE view
@@ -1,28 +1,30 @@+Copyright (c) 2009, Nicolas Pouillard All rights reserved. Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions-are met:+modification, are permitted provided that the following conditions are+met: -1. Redistributions of source code must retain the above copyright- notice, this list of conditions and the following disclaimer.+ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright- notice, this list of conditions and the following disclaimer in the- documentation and/or other materials provided with the distribution.+ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution. -3. Neither the name of the author nor the names of his contributors- may be used to endorse or promote products derived from this software- without specific prior written permission.+ * Neither the name of the copyright holders nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE-DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE-POSSIBILITY OF SUCH DAMAGE.+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
System/IO/Strict.hs view
@@ -107,11 +107,11 @@ ) where -import Prelude (Bool, Int, Integer, String, Char, FilePath, Read, Show, (.), seq)-import Control.Parallel.Strategies (NFData(..))+import Prelude (Bool, Int, Integer, String, Char, FilePath, Read, Show, (.))+import Control.DeepSeq (NFData(..)) import System.IO (IOMode, Handle, BufferMode, HandlePosn, SeekMode) import GHC.Ptr (Ptr)-import System.IO.Strict.Internals+import System.IO.Strict.Internals (SIO, wrap0, wrap0', wrap1, wrap1', wrap2, wrap3, run, return') import qualified System.IO.Strict.Internals as SIO import qualified System.IO as IO
System/IO/Strict/Internals.hs view
@@ -38,13 +38,12 @@ where import Prelude ((.), seq)-import Control.Parallel.Strategies (NFData(..))+import Control.DeepSeq (NFData(..)) import Control.Monad import Control.Monad.Fix -- import Control.Monad.Error import Control.Applicative import System.IO (IO)-import qualified System.IO as IO newtype SIO a = SIO { rawRun :: IO a } deriving (Functor, Applicative, Monad, MonadFix {-, MonadPlus, MonadError IOError-}) -- Not MonadIO !!!!
strict-io.cabal view
@@ -1,6 +1,6 @@ name: strict-io cabal-Version: >=1.6-version: 0.1+version: 0.1.1 license: BSD3 license-File: LICENSE copyright: (c) Nicolas Pouillard@@ -9,12 +9,12 @@ category: System synopsis: A library wrapping standard IO modules to provide strict IO. description: This library is a thin layer on top standard IO modules like System.IO- that re-expose these functions under a different type, namely SIO.+ and Data.IORef that re-expose these functions under a different type, namely SIO. stability: Provisional build-type: Simple library- build-depends: base>=3.0, parallel, extensible-exceptions+ build-depends: base>=3.0 && <5, deepseq==1.1.*, extensible-exceptions exposed-modules: System.IO.Strict System.IO.Strict.Internals Data.IORef.Strict