on master help sign in
add MonadThrow/MonadCatch/MonadMask instances to JSM
40b1786Francesco Mazzoli
jsaddle/jsaddle.cabal+2−1
@@ -48,7 +48,8 @@ library
48 stm >=2.4.4 && <2.5,
48 stm >=2.4.4 && <2.5,
49 time >=1.5.0.1 && <1.9,
49 time >=1.5.0.1 && <1.9,
50 unordered-containers >=0.2 && <0.3,
50 unordered-containers >=0.2 && <0.3,
51− vector >=0.10 && <0.13
51+ vector >=0.10 && <0.13,
52+ exceptions >=0.8 && <0.9
52 exposed-modules:
53 exposed-modules:
53 Data.JSString
54 Data.JSString
54 Data.JSString.Internal
55 Data.JSString.Internal
jsaddle/src/Language/Javascript/JSaddle/Types.hs+2−1
@@ -89,6 +89,7 @@ import GHCJS.Nullable (Nullable(..))
89import GHCJS.Prim.Internal (JSVal(..), JSValueRef)
89import GHCJS.Prim.Internal (JSVal(..), JSValueRef)
90import Data.JSString.Internal.Type (JSString(..))
90import Data.JSString.Internal.Type (JSString(..))
91import Control.DeepSeq (NFData(..))
91import Control.DeepSeq (NFData(..))
92+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
92import Control.Monad.Trans.Cont (ContT(..))
93import Control.Monad.Trans.Cont (ContT(..))
93import Control.Monad.Trans.Error (Error(..), ErrorT(..))
94import Control.Monad.Trans.Error (Error(..), ErrorT(..))
94import Control.Monad.Trans.Except (ExceptT(..))
95import Control.Monad.Trans.Except (ExceptT(..))
@@ -157,7 +158,7 @@ data JSContextRef = JSContextRef {
157type JSM = IO
158type JSM = IO
158#else
159#else
159newtype JSM a = JSM { unJSM :: ReaderT JSContextRef IO a }
160newtype JSM a = JSM { unJSM :: ReaderT JSContextRef IO a }
160− deriving (Functor, Applicative, Monad, MonadIO, MonadFix)
161+ deriving (Functor, Applicative, Monad, MonadIO, MonadFix, MonadCatch, MonadThrow, MonadMask)
161#endif
162#endif
162
163
163
164