| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Tickle.RunGetResult
- 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
Instances
| Bifunctor RunGetResult Source |
|
| Bitraversable RunGetResult Source |
λ> bitraverse (n -> if even n then [n - 1] else [n * 2]) (n -> if n
|
| Bifoldable RunGetResult Source |
|
| Monad (RunGetResult e) Source |
|
| Functor (RunGetResult e) Source |
|
| Applicative (RunGetResult e) Source |
|
| Foldable (RunGetResult e) Source |
|
| Traversable (RunGetResult e) Source |
|
| Alt (RunGetResult e) Source |
|
| Apply (RunGetResult e) Source |
|
| Bind (RunGetResult e) Source |
|
| Extend (RunGetResult e) Source |
|
| (Eq e, Eq a) => Eq (RunGetResult e a) Source | |
| (Ord e, Ord a) => Ord (RunGetResult e a) Source | |
| (Show e, Show a) => Show (RunGetResult e a) Source | |
| Semigroup (RunGetResult e a) Source |
|
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) ^? _RunGetFailNothing
>>>(_RunGetFail # (8, "abc")) ^? _RunGetFailJust (8,"abc")
_RunGet :: Prism' (RunGetResult e a) a Source
>>>:t _RunGet # 8_RunGet # 8 :: Num b => RunGetResult e b
>>>(_RunGet # 8) ^? _RunGetJust 8
>>>(_RunGetFail # (8, "abc")) ^? _RunGetNothing
Isomorphisms
runGetResultEitherIso :: Iso (RunGetResult a b) (RunGetResult b d) (Either (Int64, a) b) (Either (Int64, b) d) Source
>>>runGetResultEitherIso # Right 99RunGet 99
>>>runGetResultEitherIso # Left (12, "abc")RunGetFail 12 "abc"
>>>from runGetResultEitherIso # _RunGet # 99Right 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 # 99RunGet 99
>>>runGetResultValidationIso # _Failure # (12, "abc")RunGetFail 12 "abc"
>>>from runGetResultValidationIso # _RunGet # 99Success 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 # 99RunGet 99
>>>runGetResultValidation'Iso . from _Validation' # _Left # (12, "abc")RunGetFail 12 "abc"
>>>from (runGetResultValidation'Iso . from _Validation') # _RunGet # 99 :: Validation (Int64, ()) IntSuccess 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 # 99RunGet 99
>>>runGetResultAccValidationIso # _Failure # (12, "abc")RunGetFail 12 "abc"
>>>from runGetResultAccValidationIso # _RunGet # 99AccSuccess 99
>>>from runGetResultAccValidationIso # _RunGetFail # (12, "abc")AccFailure (12,"abc")