packages feed

inline-r 0.10.1 → 0.10.2

raw patch · 3 files changed

+8/−6 lines, 3 filesdep ~inline-c

Dependency ranges changed: inline-c

Files

inline-r.cabal view
@@ -1,5 +1,5 @@ name:                inline-r-version:             0.10.1+version:             0.10.2 license:             BSD3 license-file:        LICENSE copyright:           Copyright (c) 2013-2015 Amgen, Inc.@@ -100,7 +100,7 @@       inline-c >=0.5.6.1 && <0.6   else     build-depends:-      inline-c >=0.6 && <0.8+      inline-c >=0.6 && <0.9   hs-source-dirs:      src   includes:            cbits/missing_r.h   c-sources:           cbits/missing_r.c
src/Data/Vector/SEXP.hs view
@@ -279,6 +279,7 @@ import qualified Data.ByteString.Unsafe as B  import Control.Applicative hiding (empty)+import Control.Exception (mask_) #if MIN_VERSION_vector(0,11,0) import qualified Data.Vector.Fusion.Bundle.Monadic as Bundle import           Data.Vector.Fusion.Bundle.Monadic (sSize, sElems)@@ -330,7 +331,7 @@ -- | Create a 'ForeignSEXP' from 'SEXP'. foreignSEXP :: PrimMonad m => SEXP s ty -> m (ForeignSEXP ty) foreignSEXP sx@(SEXP ptr) =-    unsafePrimToPrim $ do+    unsafePrimToPrim $ mask_ $ do       R.preserveObject sx       ForeignSEXP <$> GHC.newConcForeignPtr (castPtr ptr) (R.releaseObject sx) @@ -1753,6 +1754,6 @@ phony f = reify (AcquireIO acquireIO) $ \p ->  f p   where     acquireIO :: SEXP V ty -> IO (SEXP g ty)-    acquireIO x = do+    acquireIO x = mask_ $ do       R.preserveObject x       return $ R.unsafeRelease x
src/Language/R/GC.hs view
@@ -24,6 +24,7 @@  import Control.Memory.Region import Control.Monad.R.Class+import Control.Exception import Foreign.R (SomeSEXP(..)) import qualified Foreign.R as R import System.Mem.Weak (addFinalizer)@@ -38,7 +39,7 @@ -- deallocate the value sooner - it would still be semantically correct to never -- deallocate it at all. automatic :: MonadR m => R.SEXP s a -> m (R.SEXP G a)-automatic s = io $ do+automatic s = io $ mask_ $ do     R.preserveObject s'     s' `addFinalizer` (R.releaseObject (R.unsafeRelease s'))     return s'@@ -47,7 +48,7 @@  -- | 'automatic' for 'SomeSEXP'. automaticSome :: MonadR m => R.SomeSEXP s -> m (R.SomeSEXP G)-automaticSome (SomeSEXP s) = io  $ do+automaticSome (SomeSEXP s) = io  $ mask_ $ do     R.preserveObject s'     s' `addFinalizer` (R.releaseObject s')     return $ SomeSEXP s'