module Hydra.Dsl.Lib.Optionals where import Hydra.Phantoms import Hydra.Sources.Libraries import qualified Hydra.Dsl.Terms as Terms apply :: Datum (Maybe (a -> b) -> Maybe a -> Maybe b) apply :: forall a b. Datum (Maybe (a -> b) -> Maybe a -> Maybe b) apply = Term -> Datum (Maybe (a -> b) -> Maybe a -> Maybe b) forall a. Term -> Datum a Datum (Term -> Datum (Maybe (a -> b) -> Maybe a -> Maybe b)) -> Term -> Datum (Maybe (a -> b) -> Maybe a -> Maybe b) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_apply bind :: Datum (Maybe a -> (a -> Maybe b) -> Maybe b) bind :: forall a b. Datum (Maybe a -> (a -> Maybe b) -> Maybe b) bind = Term -> Datum (Maybe a -> (a -> Maybe b) -> Maybe b) forall a. Term -> Datum a Datum (Term -> Datum (Maybe a -> (a -> Maybe b) -> Maybe b)) -> Term -> Datum (Maybe a -> (a -> Maybe b) -> Maybe b) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_bind cat :: Datum ([Maybe a] -> [a]) cat :: forall a. Datum ([Maybe a] -> [a]) cat = Term -> Datum ([Maybe a] -> [a]) forall a. Term -> Datum a Datum (Term -> Datum ([Maybe a] -> [a])) -> Term -> Datum ([Maybe a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_cat fromMaybe :: Datum (a -> Maybe a -> a) fromMaybe :: forall a. Datum (a -> Maybe a -> a) fromMaybe = Term -> Datum (a -> Maybe a -> a) forall a. Term -> Datum a Datum (Term -> Datum (a -> Maybe a -> a)) -> Term -> Datum (a -> Maybe a -> a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_fromMaybe isJust :: Datum (Maybe a -> Bool) isJust :: forall a. Datum (Maybe a -> Bool) isJust = Term -> Datum (Maybe a -> Bool) forall a. Term -> Datum a Datum (Term -> Datum (Maybe a -> Bool)) -> Term -> Datum (Maybe a -> Bool) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_isJust isNothing :: Datum (Maybe a -> Bool) isNothing :: forall a. Datum (Maybe a -> Bool) isNothing = Term -> Datum (Maybe a -> Bool) forall a. Term -> Datum a Datum (Term -> Datum (Maybe a -> Bool)) -> Term -> Datum (Maybe a -> Bool) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_isNothing map :: Datum ((a -> b) -> Maybe a -> Maybe b) map :: forall a b. Datum ((a -> b) -> Maybe a -> Maybe b) map = Term -> Datum ((a -> b) -> Maybe a -> Maybe b) forall a. Term -> Datum a Datum (Term -> Datum ((a -> b) -> Maybe a -> Maybe b)) -> Term -> Datum ((a -> b) -> Maybe a -> Maybe b) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_map maybe :: Datum (b -> (a -> b) -> Maybe a -> b) maybe :: forall b a. Datum (b -> (a -> b) -> Maybe a -> b) maybe = Term -> Datum (b -> (a -> b) -> Maybe a -> b) forall a. Term -> Datum a Datum (Term -> Datum (b -> (a -> b) -> Maybe a -> b)) -> Term -> Datum (b -> (a -> b) -> Maybe a -> b) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_maybe pure :: Datum (a -> Maybe a) pure :: forall a. Datum (a -> Maybe a) pure = Term -> Datum (a -> Maybe a) forall a. Term -> Datum a Datum (Term -> Datum (a -> Maybe a)) -> Term -> Datum (a -> Maybe a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _optionals_pure