module Hydra.Dsl.Lib.Lists where import Hydra.Phantoms import Hydra.Sources.Libraries import qualified Hydra.Dsl.Terms as Terms apply :: TTerm ([a -> b] -> [a] -> [b]) apply :: forall a b. TTerm ([a -> b] -> [a] -> [b]) apply = Term -> TTerm ([a -> b] -> [a] -> [b]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a -> b] -> [a] -> [b])) -> Term -> TTerm ([a -> b] -> [a] -> [b]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_apply at :: TTerm (Int -> [a] -> a) at :: forall a. TTerm (Int -> [a] -> a) at = Term -> TTerm (Int -> [a] -> a) forall a. Term -> TTerm a TTerm (Term -> TTerm (Int -> [a] -> a)) -> Term -> TTerm (Int -> [a] -> a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_at bind :: TTerm ([a] -> (a -> [b]) -> [b]) bind :: forall a b. TTerm ([a] -> (a -> [b]) -> [b]) bind = Term -> TTerm ([a] -> (a -> [b]) -> [b]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> (a -> [b]) -> [b])) -> Term -> TTerm ([a] -> (a -> [b]) -> [b]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_bind concat :: TTerm ([[a]] -> [a]) concat :: forall a. TTerm ([[a]] -> [a]) concat = Term -> TTerm ([[a]] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([[a]] -> [a])) -> Term -> TTerm ([[a]] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_concat concat2 :: TTerm ([a] -> [a] -> [a]) concat2 :: forall a. TTerm ([a] -> [a] -> [a]) concat2 = Term -> TTerm ([a] -> [a] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> [a] -> [a])) -> Term -> TTerm ([a] -> [a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_concat2 cons :: TTerm (a -> [a] -> [a]) cons :: forall a. TTerm (a -> [a] -> [a]) cons = Term -> TTerm (a -> [a] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm (a -> [a] -> [a])) -> Term -> TTerm (a -> [a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_cons filter :: TTerm ((a -> Bool) -> [a] -> [a]) filter :: forall a. TTerm ((a -> Bool) -> [a] -> [a]) filter = Term -> TTerm ((a -> Bool) -> [a] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ((a -> Bool) -> [a] -> [a])) -> Term -> TTerm ((a -> Bool) -> [a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_filter foldl :: TTerm ((b -> a -> b) -> b -> [a] -> b) foldl :: forall b a. TTerm ((b -> a -> b) -> b -> [a] -> b) foldl = Term -> TTerm ((b -> a -> b) -> b -> [a] -> b) forall a. Term -> TTerm a TTerm (Term -> TTerm ((b -> a -> b) -> b -> [a] -> b)) -> Term -> TTerm ((b -> a -> b) -> b -> [a] -> b) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_foldl head :: TTerm ([a] -> a) head :: forall a. TTerm ([a] -> a) head = Term -> TTerm ([a] -> a) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> a)) -> Term -> TTerm ([a] -> a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_head intercalate :: TTerm ([a] -> [[a]] -> [a]) intercalate :: forall a. TTerm ([a] -> [[a]] -> [a]) intercalate = Term -> TTerm ([a] -> [[a]] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> [[a]] -> [a])) -> Term -> TTerm ([a] -> [[a]] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_intercalate intersperse :: TTerm ([a] -> a -> [a]) intersperse :: forall a. TTerm ([a] -> a -> [a]) intersperse = Term -> TTerm ([a] -> a -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> a -> [a])) -> Term -> TTerm ([a] -> a -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_intersperse last :: TTerm ([a] -> a) last :: forall a. TTerm ([a] -> a) last = Term -> TTerm ([a] -> a) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> a)) -> Term -> TTerm ([a] -> a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_last length :: TTerm ([a] -> Int) length :: forall a. TTerm ([a] -> Int) length = Term -> TTerm ([a] -> Int) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> Int)) -> Term -> TTerm ([a] -> Int) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_length map :: TTerm ((a -> b) -> [a] -> [b]) map :: forall a b. TTerm ((a -> b) -> [a] -> [b]) map = Term -> TTerm ((a -> b) -> [a] -> [b]) forall a. Term -> TTerm a TTerm (Term -> TTerm ((a -> b) -> [a] -> [b])) -> Term -> TTerm ((a -> b) -> [a] -> [b]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_map nub :: Eq a => TTerm ([a] -> [a]) nub :: forall a. Eq a => TTerm ([a] -> [a]) nub = Term -> TTerm ([a] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> [a])) -> Term -> TTerm ([a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_nub null :: TTerm ([a] -> Bool) null :: forall a. TTerm ([a] -> Bool) null = Term -> TTerm ([a] -> Bool) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> Bool)) -> Term -> TTerm ([a] -> Bool) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_null pure :: TTerm (a -> [a]) pure :: forall a. TTerm (a -> [a]) pure = Term -> TTerm (a -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm (a -> [a])) -> Term -> TTerm (a -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_pure reverse :: TTerm ([a] -> [a]) reverse :: forall a. TTerm ([a] -> [a]) reverse = Term -> TTerm ([a] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> [a])) -> Term -> TTerm ([a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_reverse safeHead :: TTerm ([a] -> Maybe a) safeHead :: forall a. TTerm ([a] -> Maybe a) safeHead = 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 _lists_safeHead tail :: TTerm ([a] -> [a]) tail :: forall a. TTerm ([a] -> [a]) tail = Term -> TTerm ([a] -> [a]) forall a. Term -> TTerm a TTerm (Term -> TTerm ([a] -> [a])) -> Term -> TTerm ([a] -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _lists_tail