module Hydra.Impl.Haskell.Dsl.Lib.Lists where

import Hydra.Phantoms
import qualified Hydra.Impl.Haskell.Dsl.Terms as Terms
import Hydra.Impl.Haskell.Sources.Libraries


concat :: Datum ([a] -> a)
concat :: forall a. Datum ([a] -> a)
concat = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_lists_concat

head :: Datum ([a] -> a)
head :: forall a. Datum ([a] -> a)
head = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_lists_head

intercalate :: Datum ([a] -> [a] -> [a])
intercalate :: forall a. Datum ([a] -> [a] -> [a])
intercalate = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_lists_intercalate

intersperse :: Datum ([a] -> a -> [a])
intersperse :: forall a. Datum ([a] -> a -> [a])
intersperse = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_lists_intersperse

last :: Datum ([a] -> a)
last :: forall a. Datum ([a] -> a)
last = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_lists_last

length :: Datum ([a] -> Int)
length :: forall a. Datum ([a] -> Int)
length = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_lists_length

--map :: Datum ((a -> b) -> [a] -> [b])
--map = Datum $ Terms.primitive _lists_map