packages feed

monad-stlike-stm (empty) → 0.1

raw patch · 4 files changed

+68/−0 lines, 4 filesdep +basedep +monad-stlike-iodep +stmsetup-changed

Dependencies added: base, monad-stlike-io, stm

Files

+ COPYING view
@@ -0,0 +1,29 @@+Copyright (c) 2010, Taru Karttunen+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:++Redistributions of source code must retain the above copyright+notice, this list of conditions and the following disclaimer.++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.++Neither the name of the Taru Karttunen; nor the names of its contributors+may be used to endorse or promote products derived from this software+without specific prior written permission.++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.
+ Control/Monad/STLike/STM.hs view
@@ -0,0 +1,21 @@+module Control.Monad.STLike.STM+    (STMS, stm, stmsToIOS,+     module Control.Monad.STLike.IO+    ) where++import Control.Concurrent.STM+import Control.Monad.STLike.IO+import Control.Monad.STLike.Unsafe++-- | Monad for STM computations with ST-like variables.+type STMS s t = STLike STM s t+instance STLikeImpl STM++-- | Lift STM computations into STMS.+stm :: STM t -> STMS s t+stm x = STLike x++-- | Run an STMS computation with /atomically/.+stmsToIOS :: STMS s t -> IOS s t+stmsToIOS x = let STLike v = x in io (atomically v)+
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ monad-stlike-stm.cabal view
@@ -0,0 +1,15 @@+Name:                monad-stlike-stm+Version:             0.1+Synopsis:            ST-like monad capturing variables to regions and supporting STM.+Description:         ST-like monad capturing variables to regions and supporting STM.+License:             BSD3+License-file:        COPYING+Copyright:           Taru Karttunen <taruti@taruti.net>+Author:              Taru Karttunen+Category:            Regions, Monads+Maintainer:          taruti@taruti.net+Build-Depends:       monad-stlike-io, base >= 4 && < 5, stm+Exposed-modules:     Control.Monad.STLike.STM+Extensions:          FlexibleInstances+GHC-Options:         -Wall+Build-Type:	     Simple