Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- data RunGetResult e a
- runGetResult :: (Int64 -> e -> x) -> (a -> x) -> RunGetResult e a -> x
- _RunGetFail :: Prism' (RunGetResult e a) (Int64, e)
- _RunGet :: Prism' (RunGetResult e a) a
- runGetResultEitherIso :: Iso (RunGetResult a b) (RunGetResult b d) (Either (Int64, a) b) (Either (Int64, b) d)
- runGetResultValidationIso :: Iso (RunGetResult a b) (RunGetResult b d) (Validation (Int64, a) b) (Validation (Int64, b) d)
- runGetResultValidation'Iso :: Iso (RunGetResult a b) (RunGetResult b d) (Validation' (Int64, a) b) (Validation' (Int64, b) d)
- runGetResultAccValidationIso :: Iso (RunGetResult a b) (RunGetResult b d) (AccValidation (Int64, a) b) (AccValidation (Int64, b) d)
Data type
data RunGetResult e a Source
Bitraversable RunGetResult |
λ> bitraverse (n -> if even n then [n - 1] else [n * 2]) (n -> if n
|
Bifunctor RunGetResult |
|
Bifoldable RunGetResult |
|
Monad (RunGetResult e) |
|
Functor (RunGetResult e) |
|
Applicative (RunGetResult e) |
|
Foldable (RunGetResult e) |
|
Traversable (RunGetResult e) |
|
Alt (RunGetResult e) |
|
Apply (RunGetResult e) |
|
Bind (RunGetResult e) |
|
Extend (RunGetResult e) |
|
(Eq e, Eq a) => Eq (RunGetResult e a) | |
(Ord e, Ord a) => Ord (RunGetResult e a) | |
(Show e, Show a) => Show (RunGetResult e a) | |
Semigroup (RunGetResult e a) |
|
Reduction
runGetResult :: (Int64 -> e -> x) -> (a -> x) -> RunGetResult e a -> x Source
>>>
runGetResult (+) (*2) (_RunGet # 12)
24
>>>
runGetResult (+) (*2) (_RunGetFail # (23, 12))
35
Prisms
_RunGetFail :: Prism' (RunGetResult e a) (Int64, e) Source
>>>
_RunGetFail # (10, "abc")
RunGetFail 10 "abc"
>>>
(_RunGet # 8) ^? _RunGetFail
Nothing
>>>
(_RunGetFail # (8, "abc")) ^? _RunGetFail
Just (8,"abc")
_RunGet :: Prism' (RunGetResult e a) a Source
>>>
:t _RunGet # 8
_RunGet # 8 :: Num b => RunGetResult e b
>>>
(_RunGet # 8) ^? _RunGet
Just 8
>>>
(_RunGetFail # (8, "abc")) ^? _RunGet
Nothing
Isomorphisms
runGetResultEitherIso :: Iso (RunGetResult a b) (RunGetResult b d) (Either (Int64, a) b) (Either (Int64, b) d) Source
>>>
runGetResultEitherIso # Right 99
RunGet 99
>>>
runGetResultEitherIso # Left (12, "abc")
RunGetFail 12 "abc"
>>>
from runGetResultEitherIso # _RunGet # 99
Right 99
>>>
from runGetResultEitherIso # _RunGetFail # (12, "abc")
Left (12,"abc")
runGetResultValidationIso :: Iso (RunGetResult a b) (RunGetResult b d) (Validation (Int64, a) b) (Validation (Int64, b) d) Source
>>>
runGetResultValidationIso # _Success # 99
RunGet 99
>>>
runGetResultValidationIso # _Failure # (12, "abc")
RunGetFail 12 "abc"
>>>
from runGetResultValidationIso # _RunGet # 99
Success 99
>>>
from runGetResultValidationIso # _RunGetFail # (12, "abc")
Failure (12,"abc")
runGetResultValidation'Iso :: Iso (RunGetResult a b) (RunGetResult b d) (Validation' (Int64, a) b) (Validation' (Int64, b) d) Source
>>>
runGetResultValidation'Iso . from _Validation' # _Right # 99
RunGet 99
>>>
runGetResultValidation'Iso . from _Validation' # _Left # (12, "abc")
RunGetFail 12 "abc"
>>>
from (runGetResultValidation'Iso . from _Validation') # _RunGet # 99 :: Validation (Int64, ()) Int
Success 99
>>>
from (runGetResultValidation'Iso . from _Validation') # _RunGetFail # (12, "abc") :: Validation (Int64, String) ()
Failure (12,"abc")
runGetResultAccValidationIso :: Iso (RunGetResult a b) (RunGetResult b d) (AccValidation (Int64, a) b) (AccValidation (Int64, b) d) Source
>>>
runGetResultAccValidationIso # _Success # 99
RunGet 99
>>>
runGetResultAccValidationIso # _Failure # (12, "abc")
RunGetFail 12 "abc"
>>>
from runGetResultAccValidationIso # _RunGet # 99
AccSuccess 99
>>>
from runGetResultAccValidationIso # _RunGetFail # (12, "abc")
AccFailure (12,"abc")