Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- readIntV1 :: MonadError (Variant e) m => CouldBeF e Text => String -> m Int
- readIntV2 :: MonadError (Variant e) m => e `CouldBe` Text => String -> m Int
- readIntV3 :: e `CouldBe` Text => String -> ExceptT (Variant e) Identity Int
- readIntV4 :: e `CouldBe` Text => String -> ExceptT (Variant e) IO Int
- readIntV5 :: MonadError (Variant e) m => MonadIO m => e `CouldBe` Text => String -> m Int
- readIntV6 :: MonadIO m => e `CouldBe` Text => String -> ExceptT (Variant e) m Int
- data NotAnInteger = NotAnInteger
- data NotPositive = NotPositive
- readPositiveInt1 :: MonadIO m => e `CouldBe` NotAnInteger => e `CouldBe` NotPositive => String -> ExceptT (Variant e) m Int
- example1 :: e `CouldBe` Text => String -> ExceptT (Variant e) IO Int
- example2 :: String -> ExceptT (Variant e) IO Int
- example3 :: String -> IO Int
- data FileNotFound = FileNotFound
- data FileNotReadable = FileNotReadable
- data Errors1
- example4 :: MonadIO m => e `CouldBe` Errors1 => String -> ExceptT (Variant e) m Int
- example5 :: MonadIO m => String -> ExceptT Errors1 m Int
- example6 :: MonadIO m => String -> m (Either Errors1 Int)
- example7 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int
- example8 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int
- example9 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int
- example10 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int
- example11 :: MonadIO m => MonadCatch m => e `CouldBe` IOException => ExceptT (Variant e) m String
- example12 :: MonadIO m => MonadCatch m => e `CouldBe` IOException => ExceptT (Variant e) m String
Documentation
readIntV1 :: MonadError (Variant e) m => CouldBeF e Text => String -> m Int Source #
A simple function that throws an error.
The type is the one that is inferred by GHC.
readIntV2 :: MonadError (Variant e) m => e `CouldBe` Text => String -> m Int Source #
A simple function that throws an error.
This is the same as before, but we can rewrite constraint on e
differently.
readIntV3 :: e `CouldBe` Text => String -> ExceptT (Variant e) Identity Int Source #
A simple function that throws an error.
We can also use ExceptT
readIntV5 :: MonadError (Variant e) m => MonadIO m => e `CouldBe` Text => String -> m Int Source #
A simple function that throws an error.
Or use MonadIO instead of IO directly.
readPositiveInt1 :: MonadIO m => e `CouldBe` NotAnInteger => e `CouldBe` NotPositive => String -> ExceptT (Variant e) m Int Source #
A simple function can throw two errors
example7 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int Source #
example8 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int Source #
example9 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int Source #
example10 :: MonadIO m => e `CouldBe` NotPositive => e `CouldBe` NotAnInteger => String -> ExceptT (Variant e) m Int Source #
example11 :: MonadIO m => MonadCatch m => e `CouldBe` IOException => ExceptT (Variant e) m String Source #
example12 :: MonadIO m => MonadCatch m => e `CouldBe` IOException => ExceptT (Variant e) m String Source #