foundation-0.0.15: Alternative prelude with batteries and no dependencies

LicenseBSD-style
MaintainerNicolas Di Prima <nicolas@primetype.co.uk>
Stabilitystatble
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Foundation.List.DList

Description

Data structure for optimised operations (append, cons, snoc) on list

Documentation

data DList a #

Instances

Monad DList # 

Methods

(>>=) :: DList a -> (a -> DList b) -> DList b #

(>>) :: DList a -> DList b -> DList b #

return :: a -> DList a #

fail :: String -> DList a #

Functor DList # 

Methods

fmap :: (a -> b) -> DList a -> DList b #

(<$) :: a -> DList b -> DList a #

Applicative DList # 

Methods

pure :: a -> DList a #

(<*>) :: DList (a -> b) -> DList a -> DList b #

(*>) :: DList a -> DList b -> DList b #

(<*) :: DList a -> DList b -> DList a #

IsList (DList a) # 

Associated Types

type Item (DList a) :: * #

Methods

fromList :: [Item (DList a)] -> DList a #

fromListN :: Int -> [Item (DList a)] -> DList a #

toList :: DList a -> [Item (DList a)] #

Eq a => Eq (DList a) # 

Methods

(==) :: DList a -> DList a -> Bool #

(/=) :: DList a -> DList a -> Bool #

Ord a => Ord (DList a) # 

Methods

compare :: DList a -> DList a -> Ordering #

(<) :: DList a -> DList a -> Bool #

(<=) :: DList a -> DList a -> Bool #

(>) :: DList a -> DList a -> Bool #

(>=) :: DList a -> DList a -> Bool #

max :: DList a -> DList a -> DList a #

min :: DList a -> DList a -> DList a #

Show a => Show (DList a) # 

Methods

showsPrec :: Int -> DList a -> ShowS #

show :: DList a -> String #

showList :: [DList a] -> ShowS #

Monoid (DList a) # 

Methods

mempty :: DList a #

mappend :: DList a -> DList a -> DList a #

mconcat :: [DList a] -> DList a #

Foldable (DList a) # 

Methods

foldl' :: (a -> Element (DList a) -> a) -> a -> DList a -> a #

foldr :: (Element (DList a) -> a -> a) -> a -> DList a -> a #

foldr' :: (Element (DList a) -> a -> a) -> a -> DList a -> a #

Collection (DList a) # 

Methods

null :: DList a -> Bool #

length :: DList a -> CountOf (Element (DList a)) #

elem :: (Eq a, (* ~ a) (Element (DList a))) => Element (DList a) -> DList a -> Bool #

notElem :: (Eq a, (* ~ a) (Element (DList a))) => Element (DList a) -> DList a -> Bool #

maximum :: (Ord a, (* ~ a) (Element (DList a))) => NonEmpty (DList a) -> Element (DList a) #

minimum :: (Ord a, (* ~ a) (Element (DList a))) => NonEmpty (DList a) -> Element (DList a) #

any :: (Element (DList a) -> Bool) -> DList a -> Bool #

all :: (Element (DList a) -> Bool) -> DList a -> Bool #

Sequential (DList a) # 

Methods

take :: CountOf (Element (DList a)) -> DList a -> DList a #

revTake :: CountOf (Element (DList a)) -> DList a -> DList a #

drop :: CountOf (Element (DList a)) -> DList a -> DList a #

revDrop :: CountOf (Element (DList a)) -> DList a -> DList a #

splitAt :: CountOf (Element (DList a)) -> DList a -> (DList a, DList a) #

revSplitAt :: CountOf (Element (DList a)) -> DList a -> (DList a, DList a) #

splitOn :: (Element (DList a) -> Bool) -> DList a -> [DList a] #

break :: (Element (DList a) -> Bool) -> DList a -> (DList a, DList a) #

breakEnd :: (Element (DList a) -> Bool) -> DList a -> (DList a, DList a) #

breakElem :: Element (DList a) -> DList a -> (DList a, DList a) #

takeWhile :: (Element (DList a) -> Bool) -> DList a -> DList a #

dropWhile :: (Element (DList a) -> Bool) -> DList a -> DList a #

intersperse :: Element (DList a) -> DList a -> DList a #

intercalate :: Element (DList a) -> DList a -> Element (DList a) #

span :: (Element (DList a) -> Bool) -> DList a -> (DList a, DList a) #

spanEnd :: (Element (DList a) -> Bool) -> DList a -> (DList a, DList a) #

filter :: (Element (DList a) -> Bool) -> DList a -> DList a #

partition :: (Element (DList a) -> Bool) -> DList a -> (DList a, DList a) #

reverse :: DList a -> DList a #

uncons :: DList a -> Maybe (Element (DList a), DList a) #

unsnoc :: DList a -> Maybe (DList a, Element (DList a)) #

snoc :: DList a -> Element (DList a) -> DList a #

cons :: Element (DList a) -> DList a -> DList a #

find :: (Element (DList a) -> Bool) -> DList a -> Maybe (Element (DList a)) #

sortBy :: (Element (DList a) -> Element (DList a) -> Ordering) -> DList a -> DList a #

singleton :: Element (DList a) -> DList a #

head :: NonEmpty (DList a) -> Element (DList a) #

last :: NonEmpty (DList a) -> Element (DList a) #

tail :: NonEmpty (DList a) -> DList a #

init :: NonEmpty (DList a) -> DList a #

replicate :: CountOf (Element (DList a)) -> Element (DList a) -> DList a #

isPrefixOf :: DList a -> DList a -> Bool #

isSuffixOf :: DList a -> DList a -> Bool #

isInfixOf :: DList a -> DList a -> Bool #

stripPrefix :: DList a -> DList a -> Maybe (DList a) #

stripSuffix :: DList a -> DList a -> Maybe (DList a) #

type Item (DList a) # 
type Item (DList a) = a
type Element (DList a) # 
type Element (DList a) = a