Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Agda.Utils.NonemptyList
Description
Nonempty lists.
Synopsis
- data NonemptyList a = (:!) {}
- toList :: NonemptyList a -> [a]
- fromList :: [a] -> Maybe (NonemptyList a)
- consNe :: a -> NonemptyList a -> NonemptyList a
- unionNe :: Eq a => NonemptyList a -> NonemptyList a -> NonemptyList a
- zipWithNe :: (a -> b -> c) -> NonemptyList a -> NonemptyList b -> NonemptyList c
- zipNe :: NonemptyList a -> NonemptyList b -> NonemptyList (a, b)
- caseListNe :: [a] -> b -> (NonemptyList a -> b) -> b
- listCaseNe :: b -> (NonemptyList a -> b) -> [a] -> b
- elemNe :: Eq a => a -> NonemptyList a -> Bool
Documentation
data NonemptyList a Source #
Instances
Monad NonemptyList Source # | |
Defined in Agda.Utils.NonemptyList Methods (>>=) :: NonemptyList a -> (a -> NonemptyList b) -> NonemptyList b (>>) :: NonemptyList a -> NonemptyList b -> NonemptyList b return :: a -> NonemptyList a fail :: String -> NonemptyList a | |
Functor NonemptyList Source # | |
Defined in Agda.Utils.NonemptyList Methods fmap :: (a -> b) -> NonemptyList a -> NonemptyList b (<$) :: a -> NonemptyList b -> NonemptyList a # | |
Applicative NonemptyList Source # | |
Defined in Agda.Utils.NonemptyList Methods pure :: a -> NonemptyList a (<*>) :: NonemptyList (a -> b) -> NonemptyList a -> NonemptyList b # liftA2 :: (a -> b -> c) -> NonemptyList a -> NonemptyList b -> NonemptyList c (*>) :: NonemptyList a -> NonemptyList b -> NonemptyList b (<*) :: NonemptyList a -> NonemptyList b -> NonemptyList a | |
Foldable NonemptyList Source # | |
Defined in Agda.Utils.NonemptyList Methods fold :: Monoid m => NonemptyList m -> m foldMap :: Monoid m => (a -> m) -> NonemptyList a -> m foldr :: (a -> b -> b) -> b -> NonemptyList a -> b foldr' :: (a -> b -> b) -> b -> NonemptyList a -> b foldl :: (b -> a -> b) -> b -> NonemptyList a -> b foldl' :: (b -> a -> b) -> b -> NonemptyList a -> b foldr1 :: (a -> a -> a) -> NonemptyList a -> a foldl1 :: (a -> a -> a) -> NonemptyList a -> a toList :: NonemptyList a -> [a] null :: NonemptyList a -> Bool length :: NonemptyList a -> Int elem :: Eq a => a -> NonemptyList a -> Bool maximum :: Ord a => NonemptyList a -> a minimum :: Ord a => NonemptyList a -> a sum :: Num a => NonemptyList a -> a product :: Num a => NonemptyList a -> a | |
Traversable NonemptyList Source # | |
Defined in Agda.Utils.NonemptyList Methods traverse :: Applicative f => (a -> f b) -> NonemptyList a -> f (NonemptyList b) sequenceA :: Applicative f => NonemptyList (f a) -> f (NonemptyList a) mapM :: Monad m => (a -> m b) -> NonemptyList a -> m (NonemptyList b) sequence :: Monad m => NonemptyList (m a) -> m (NonemptyList a) | |
Singleton a (NonemptyList a) Source # | |
Defined in Agda.Utils.Singleton Methods singleton :: a -> NonemptyList a Source # | |
Eq a => Eq (NonemptyList a) Source # | |
Defined in Agda.Utils.NonemptyList Methods (==) :: NonemptyList a -> NonemptyList a -> Bool (/=) :: NonemptyList a -> NonemptyList a -> Bool | |
Data a => Data (NonemptyList a) Source # | |
Defined in Agda.Utils.NonemptyList Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NonemptyList a -> c (NonemptyList a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NonemptyList a) toConstr :: NonemptyList a -> Constr dataTypeOf :: NonemptyList a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NonemptyList a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NonemptyList a)) gmapT :: (forall b. Data b => b -> b) -> NonemptyList a -> NonemptyList a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NonemptyList a -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NonemptyList a -> r gmapQ :: (forall d. Data d => d -> u) -> NonemptyList a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NonemptyList a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NonemptyList a -> m (NonemptyList a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NonemptyList a -> m (NonemptyList a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NonemptyList a -> m (NonemptyList a) | |
Ord a => Ord (NonemptyList a) Source # | |
Defined in Agda.Utils.NonemptyList Methods compare :: NonemptyList a -> NonemptyList a -> Ordering (<) :: NonemptyList a -> NonemptyList a -> Bool (<=) :: NonemptyList a -> NonemptyList a -> Bool (>) :: NonemptyList a -> NonemptyList a -> Bool (>=) :: NonemptyList a -> NonemptyList a -> Bool max :: NonemptyList a -> NonemptyList a -> NonemptyList a min :: NonemptyList a -> NonemptyList a -> NonemptyList a | |
Show a => Show (NonemptyList a) Source # | |
Defined in Agda.Utils.NonemptyList Methods showsPrec :: Int -> NonemptyList a -> ShowS show :: NonemptyList a -> String showList :: [NonemptyList a] -> ShowS | |
Semigroup (NonemptyList a) Source # | |
Defined in Agda.Utils.NonemptyList Methods (<>) :: NonemptyList a -> NonemptyList a -> NonemptyList a sconcat :: NonEmpty (NonemptyList a) -> NonemptyList a stimes :: Integral b => b -> NonemptyList a -> NonemptyList a | |
Pretty a => Pretty (NonemptyList a) Source # | |
Defined in Agda.Utils.Pretty Methods pretty :: NonemptyList a -> Doc Source # prettyPrec :: Int -> NonemptyList a -> Doc Source # prettyList :: [NonemptyList a] -> Doc Source # | |
KillRange a => KillRange (NonemptyList a) Source # | |
Defined in Agda.Syntax.Position Methods killRange :: KillRangeT (NonemptyList a) Source # | |
HasRange a => HasRange (NonemptyList a) Source # | Precondition: The ranges of the list elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position Methods getRange :: NonemptyList a -> Range Source # | |
EmbPrj a => EmbPrj (NonemptyList a) Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: NonemptyList a -> S Int32 Source # icod_ :: NonemptyList a -> S Int32 Source # value :: Int32 -> R (NonemptyList a) Source # | |
NamesIn a => NamesIn (NonemptyList a) Source # | |
Defined in Agda.Syntax.Internal.Names Methods namesIn :: NonemptyList a -> Set QName Source # |
toList :: NonemptyList a -> [a] Source #
Implementing conversion to list manually, since Foldable.toList
might recurse over the tail and, thus, destroy sharing.
fromList :: [a] -> Maybe (NonemptyList a) Source #
Converting a list (safe).
consNe :: a -> NonemptyList a -> NonemptyList a Source #
Prepending an element.
unionNe :: Eq a => NonemptyList a -> NonemptyList a -> NonemptyList a Source #
Returns the union of the argument lists seen as sets. The order of the elements in the result is not specified. Precondition: arguments contain no duplicates.
zipWithNe :: (a -> b -> c) -> NonemptyList a -> NonemptyList b -> NonemptyList c Source #
Zip two nonempty lists.
zipNe :: NonemptyList a -> NonemptyList b -> NonemptyList (a, b) Source #
Zip two nonempty lists.
caseListNe :: [a] -> b -> (NonemptyList a -> b) -> b Source #
Case on a list, getting a nonempty list in the cons case.
listCaseNe :: b -> (NonemptyList a -> b) -> [a] -> b Source #
Case on a list, with list last.
elemNe :: Eq a => a -> NonemptyList a -> Bool Source #
Check if an element is present in a list.