packages feed

unamb 0.2.5 → 0.2.7

raw patch · 2 files changed

+16/−9 lines, 2 filesdep ~base

Dependency ranges changed: base

Files

src/Data/Unamb.hs view
@@ -35,7 +35,7 @@   , BothBottom   ) where -import Prelude hiding (catch)+import Prelude import System.IO.Unsafe import Control.Monad.Instances () -- for function functor import Control.Concurrent@@ -216,9 +216,9 @@ -- This version kills descendant threads when killed, but does not restart -- any work if it's called by unamb. That code is left in unamb. -race a b = mask_ $ do+race a b = mask $ \restore -> do   v <- newEmptyMVar-  let f x = forkIO $ putCatch (mask_ x) v+  let f x = forkIO $ putCatch (restore x) v   ta <- f a   tb <- f b   let cleanup = throwTo ta DontBother >> throwTo tb DontBother@@ -226,7 +226,7 @@       loop t = do x <- takeMVar v                   case x of Nothing -> loop (t-1)                             Just x' -> return x'-  mask_ (loop (2 :: Int) `finally` cleanup)+  loop (2 :: Int) `finally` cleanup   -- A thread can bottom-out efficiently by throwing that exception.
unamb.cabal view
@@ -1,17 +1,20 @@ Name:                unamb-Version:             0.2.5-Cabal-Version:       >= 1.2+Version:             0.2.7+Cabal-Version:       >= 1.6 Synopsis:            Unambiguous choice Category:            Concurrency, Data, Other Description:-  unamb contains the "unambiguous choice" operator "unamb", which+  unamb contains the \"unambiguous choice\" operator 'unamb', which   wraps thread racing up in a purely functional, semantically simple   wrapper.  Originally a part of Reactive, I moved unamb to its own   package in order to encourage experimentation.   .+  Note: unamb correctly implements lub (least upper bound) for flat+  types only. I suggest using the lub package instead of unamb.+  .   Project wiki page: <http://haskell.org/haskellwiki/unamb>   .-  &#169; 2008-2012 by Conal Elliott; BSD3 license.+  &#169; 2008-2014 by Conal Elliott; BSD3 license.   .   Contributions from: Luke Palmer, Spencer Janssen, Sterling Clover,   Bertram Felgenhauer, Peter Verswyvelen, Svein Ove Aas, and Edward Kmett.@@ -20,10 +23,14 @@ Maintainer:          conal@conal.net Homepage:            http://haskell.org/haskellwiki/unamb Package-Url:         http://code.haskell.org/unamb-Copyright:           (c) 2008-2012 by Conal Elliott+Copyright:           (c) 2008-2014 by Conal Elliott License:             BSD3 Stability:           experimental build-type:          Simple++source-repository head+  type:     git+  location: git://github.com/conal/unamb.git  Flag test   Description: Enable testing