{-# LANGUAGE NoImplicitPrelude, PolymorphicComponents #-}
module ModularPrelude.Module.List
(
ListModule (..)
, ListImplements (..)
) where
import ModularPrelude hiding (empty)
import qualified Data.List as List
data ListModule = List
{ ListModule -> forall a b. (a -> b) -> [a] -> [b]
map :: forall a b. (a -> b) -> [a] -> [b]
, ListModule -> forall a b. (a -> [b]) -> [a] -> [b]
concatMap :: forall a b. (a -> [b]) -> [a] -> [b]
, ListModule -> forall a. (a -> Bool) -> [a] -> [a]
filter :: forall a. (a -> Bool) -> [a] -> [a]
, ListModule -> forall a. [a] -> Int
length :: forall a. [a] -> Int
, ListModule -> forall a. a -> [a]
singleton :: forall a. a -> [a]
, ListModule -> forall a. [a] -> Bool
null :: forall a. [a] -> Bool
, ListModule -> forall a. [a] -> [a]
pack :: forall a. [a] -> [a]
, ListModule -> forall a. [a] -> [a]
unpack :: forall a. [a] -> [a]
, ListModule -> forall a. [a] -> [a]
fromList :: forall a. [a] -> [a]
, ListModule -> forall a. [a] -> [a]
toList :: forall a. [a] -> [a]
, ListModule -> forall k a. Eq k => k -> [(k, a)] -> Maybe a
lookup :: forall k a. Eq k => k -> [(k, a)] -> Maybe a
, ListModule -> forall a. [a]
empty :: forall a. [a]
, ListModule -> forall a. a -> [a] -> [a]
insert :: forall a. a -> [a] -> [a]
, ListModule -> forall a. Eq a => a -> [a] -> [a]
delete :: forall a. Eq a => a -> [a] -> [a]
, ListModule -> forall a. Eq a => a -> [a] -> Bool
member :: forall a. Eq a => a -> [a] -> Bool
, ListModule -> forall a. Eq a => [a] -> [a] -> Maybe [a]
stripPrefix :: forall a. Eq a => [a] -> [a] -> Maybe [a]
, ListModule -> forall a. (a -> Bool) -> [a] -> ([a], [a])
break :: forall a. (a -> Bool) -> [a] -> ([a], [a])
, ListModule -> forall a. (a -> Bool) -> [a] -> ([a], [a])
span :: forall a. (a -> Bool) -> [a] -> ([a], [a])
, ListModule -> forall a. (a -> Bool) -> [a] -> [a]
dropWhile :: forall a. (a -> Bool) -> [a] -> [a]
, ListModule -> forall a. (a -> Bool) -> [a] -> [a]
takeWhile :: forall a. (a -> Bool) -> [a] -> [a]
, ListModule -> forall a. (a -> Bool) -> [a] -> Bool
any :: forall a. (a -> Bool) -> [a] -> Bool
, ListModule -> forall a. (a -> Bool) -> [a] -> Bool
all :: forall a. (a -> Bool) -> [a] -> Bool
, ListModule -> forall a. Int -> [a] -> ([a], [a])
splitAt :: forall a. Int -> [a] -> ([a], [a])
, ListModule -> forall a b. (a -> b -> a) -> a -> [b] -> a
fold :: forall a b. (a -> b -> a) -> a -> [b] -> a
}
class ListImplements interface where
_Data_List_ :: interface
instance ListImplements ListModule where
_Data_List_ :: ListModule
_Data_List_ = List
{ map :: forall a b. (a -> b) -> [a] -> [b]
map = (a -> b) -> [a] -> [b]
forall a b. (a -> b) -> [a] -> [b]
List.map
, concatMap :: forall a b. (a -> [b]) -> [a] -> [b]
concatMap = (a -> [b]) -> [a] -> [b]
forall a b. (a -> [b]) -> [a] -> [b]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
List.concatMap
, filter :: forall a. (a -> Bool) -> [a] -> [a]
filter = (a -> Bool) -> [a] -> [a]
forall a. (a -> Bool) -> [a] -> [a]
List.filter
, length :: forall a. [a] -> Int
length = [a] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
List.length
, singleton :: forall a. a -> [a]
singleton = a -> [a]
forall a. a -> [a]
forall (m :: * -> *) a. Monad m => a -> m a
return
, null :: forall a. [a] -> Bool
null = [a] -> Bool
forall a. [a] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
List.null
, pack :: forall a. [a] -> [a]
pack = [a] -> [a]
forall a. a -> a
forall a. [a] -> [a]
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
, unpack :: forall a. [a] -> [a]
unpack = [a] -> [a]
forall a. a -> a
forall a. [a] -> [a]
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
, fromList :: forall a. [a] -> [a]
fromList = [a] -> [a]
forall a. a -> a
forall a. [a] -> [a]
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
, toList :: forall a. [a] -> [a]
toList = [a] -> [a]
forall a. a -> a
forall a. [a] -> [a]
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
, lookup :: forall k a. Eq k => k -> [(k, a)] -> Maybe a
lookup = k -> [(k, a)] -> Maybe a
forall k a. Eq k => k -> [(k, a)] -> Maybe a
List.lookup
, empty :: forall a. [a]
empty = []
, insert :: forall a. a -> [a] -> [a]
insert = (:)
, delete :: forall a. Eq a => a -> [a] -> [a]
delete = a -> [a] -> [a]
forall a. Eq a => a -> [a] -> [a]
List.delete
, member :: forall a. Eq a => a -> [a] -> Bool
member = a -> [a] -> Bool
forall a. Eq a => a -> [a] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
List.elem
, stripPrefix :: forall a. Eq a => [a] -> [a] -> Maybe [a]
stripPrefix = [a] -> [a] -> Maybe [a]
forall a. Eq a => [a] -> [a] -> Maybe [a]
List.stripPrefix
, break :: forall a. (a -> Bool) -> [a] -> ([a], [a])
break = (a -> Bool) -> [a] -> ([a], [a])
forall a. (a -> Bool) -> [a] -> ([a], [a])
List.break
, span :: forall a. (a -> Bool) -> [a] -> ([a], [a])
span = (a -> Bool) -> [a] -> ([a], [a])
forall a. (a -> Bool) -> [a] -> ([a], [a])
List.span
, dropWhile :: forall a. (a -> Bool) -> [a] -> [a]
dropWhile = (a -> Bool) -> [a] -> [a]
forall a. (a -> Bool) -> [a] -> [a]
List.dropWhile
, takeWhile :: forall a. (a -> Bool) -> [a] -> [a]
takeWhile = (a -> Bool) -> [a] -> [a]
forall a. (a -> Bool) -> [a] -> [a]
List.takeWhile
, any :: forall a. (a -> Bool) -> [a] -> Bool
any = (a -> Bool) -> [a] -> Bool
forall a. (a -> Bool) -> [a] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
List.any
, all :: forall a. (a -> Bool) -> [a] -> Bool
all = (a -> Bool) -> [a] -> Bool
forall a. (a -> Bool) -> [a] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
List.all
, splitAt :: forall a. Int -> [a] -> ([a], [a])
splitAt = Int -> [a] -> ([a], [a])
forall a. Int -> [a] -> ([a], [a])
List.splitAt
, fold :: forall a b. (a -> b -> a) -> a -> [b] -> a
fold = (a -> b -> a) -> a -> [b] -> a
forall a b. (a -> b -> a) -> a -> [b] -> a
forall (t :: * -> *) b a.
Foldable t =>
(b -> a -> b) -> b -> t a -> b
List.foldl'
}
instance Default ListModule where
def :: ListModule
def = ListModule
forall interface. ListImplements interface => interface
_Data_List_