monad-ideals-0.1.0.0: Ideal Monads and coproduct of them
Copyright(C) 2024 Koji Miyazato
LicenseBSD-style (see the file LICENSE)
MaintainerKoji Miyazato <viercc@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.List.TwoOrMore

Description

 
Synopsis

Documentation

data TwoOrMore a Source #

List of two or more elements

Constructors

TwoOrMore a a [a] 

Instances

Instances details
Foldable TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

fold :: Monoid m => TwoOrMore m -> m #

foldMap :: Monoid m => (a -> m) -> TwoOrMore a -> m #

foldMap' :: Monoid m => (a -> m) -> TwoOrMore a -> m #

foldr :: (a -> b -> b) -> b -> TwoOrMore a -> b #

foldr' :: (a -> b -> b) -> b -> TwoOrMore a -> b #

foldl :: (b -> a -> b) -> b -> TwoOrMore a -> b #

foldl' :: (b -> a -> b) -> b -> TwoOrMore a -> b #

foldr1 :: (a -> a -> a) -> TwoOrMore a -> a #

foldl1 :: (a -> a -> a) -> TwoOrMore a -> a #

toList :: TwoOrMore a -> [a] #

null :: TwoOrMore a -> Bool #

length :: TwoOrMore a -> Int #

elem :: Eq a => a -> TwoOrMore a -> Bool #

maximum :: Ord a => TwoOrMore a -> a #

minimum :: Ord a => TwoOrMore a -> a #

sum :: Num a => TwoOrMore a -> a #

product :: Num a => TwoOrMore a -> a #

Foldable1 TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

fold1 :: Semigroup m => TwoOrMore m -> m #

foldMap1 :: Semigroup m => (a -> m) -> TwoOrMore a -> m #

foldMap1' :: Semigroup m => (a -> m) -> TwoOrMore a -> m #

toNonEmpty :: TwoOrMore a -> NonEmpty a #

maximum :: Ord a => TwoOrMore a -> a #

minimum :: Ord a => TwoOrMore a -> a #

head :: TwoOrMore a -> a #

last :: TwoOrMore a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> TwoOrMore a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> TwoOrMore a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> TwoOrMore a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> TwoOrMore a -> b #

Traversable TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

traverse :: Applicative f => (a -> f b) -> TwoOrMore a -> f (TwoOrMore b) #

sequenceA :: Applicative f => TwoOrMore (f a) -> f (TwoOrMore a) #

mapM :: Monad m => (a -> m b) -> TwoOrMore a -> m (TwoOrMore b) #

sequence :: Monad m => TwoOrMore (m a) -> m (TwoOrMore a) #

Functor TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

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

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

MonadIdeal TwoOrMore Source #
Ideal TwoOrMore ~ NonEmpty
Instance details

Defined in Data.List.TwoOrMore

Methods

idealBind :: TwoOrMore a -> (a -> Ideal TwoOrMore b) -> TwoOrMore b Source #

Isolated TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

impureBind :: TwoOrMore a -> (a -> Unite TwoOrMore b) -> Unite TwoOrMore b Source #

Alt TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Apply TwoOrMore Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

(<.>) :: TwoOrMore (a -> b) -> TwoOrMore a -> TwoOrMore b #

(.>) :: TwoOrMore a -> TwoOrMore b -> TwoOrMore b #

(<.) :: TwoOrMore a -> TwoOrMore b -> TwoOrMore a #

liftF2 :: (a -> b -> c) -> TwoOrMore a -> TwoOrMore b -> TwoOrMore c #

Bind TwoOrMore Source #
(>>-) = flip foldMap1
Instance details

Defined in Data.List.TwoOrMore

Methods

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

join :: TwoOrMore (TwoOrMore a) -> TwoOrMore a #

Semigroup (TwoOrMore a) Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

(<>) :: TwoOrMore a -> TwoOrMore a -> TwoOrMore a #

sconcat :: NonEmpty (TwoOrMore a) -> TwoOrMore a #

stimes :: Integral b => b -> TwoOrMore a -> TwoOrMore a #

Read a => Read (TwoOrMore a) Source # 
Instance details

Defined in Data.List.TwoOrMore

Show a => Show (TwoOrMore a) Source # 
Instance details

Defined in Data.List.TwoOrMore

Eq a => Eq (TwoOrMore a) Source # 
Instance details

Defined in Data.List.TwoOrMore

Methods

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

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

Ord a => Ord (TwoOrMore a) Source # 
Instance details

Defined in Data.List.TwoOrMore

toNonEmpty :: Foldable1 t => t a -> NonEmpty a #

List of elements of a structure, from left to right.

>>> toNonEmpty (Identity 2)
2 :| []

Since: base-4.18.0.0