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