OneTuple-0.4.2: Singleton Tuple
Safe HaskellSafe
LanguageHaskell98

Data.Tuple.Solo

Description

Solo fills the tuple gap with a singleton tuple.

Solo does not support the usual parenthesized tuple syntax.

Solo

  • has the expected laziness properties
  • can be pattern-matched
  • ships with instances for several standard type classes, including all those supported by H98-standard tuples
  • requires no language extensions, except for hierarchical modules

Note: on GHC-9.0 getSolo is not a record selector.

Documentation

data Solo a #

Constructors

MkSolo a 

Bundled Patterns

pattern Solo :: a -> Solo a 

Instances

Instances details
MonadZip Solo 
Instance details

Defined in Control.Monad.Zip

Methods

mzip :: Solo a -> Solo b -> Solo (a, b)

mzipWith :: (a -> b -> c) -> Solo a -> Solo b -> Solo c

munzip :: Solo (a, b) -> (Solo a, Solo b)

Foldable1 Solo 
Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Solo m -> m

foldMap1 :: Semigroup m => (a -> m) -> Solo a -> m

foldMap1' :: Semigroup m => (a -> m) -> Solo a -> m

toNonEmpty :: Solo a -> NonEmpty a

maximum :: Ord a => Solo a -> a

minimum :: Ord a => Solo a -> a

head :: Solo a -> a

last :: Solo a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Solo a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Solo a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Solo a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Solo a -> b

Eq1 Solo 
Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> Solo a -> Solo b -> Bool

Ord1 Solo 
Instance details

Defined in Data.Functor.Classes

Methods

liftCompare :: (a -> b -> Ordering) -> Solo a -> Solo b -> Ordering

Read1 Solo 
Instance details

Defined in Data.Functor.Classes

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Solo a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Solo a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Solo a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Solo a]

Show1 Solo 
Instance details

Defined in Data.Functor.Classes

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Solo a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Solo a] -> ShowS

Applicative Solo 
Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> Solo a

(<*>) :: Solo (a -> b) -> Solo a -> Solo b

liftA2 :: (a -> b -> c) -> Solo a -> Solo b -> Solo c

(*>) :: Solo a -> Solo b -> Solo b

(<*) :: Solo a -> Solo b -> Solo a

Functor Solo 
Instance details

Defined in GHC.Internal.Base

Methods

fmap :: (a -> b) -> Solo a -> Solo b

(<$) :: a -> Solo b -> Solo a

Monad Solo 
Instance details

Defined in GHC.Internal.Base

Methods

(>>=) :: Solo a -> (a -> Solo b) -> Solo b

(>>) :: Solo a -> Solo b -> Solo b

return :: a -> Solo a

Monoid a => Monoid (Solo a) 
Instance details

Defined in GHC.Internal.Base

Methods

mempty :: Solo a

mappend :: Solo a -> Solo a -> Solo a

mconcat :: [Solo a] -> Solo a

Semigroup a => Semigroup (Solo a) 
Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: Solo a -> Solo a -> Solo a

sconcat :: NonEmpty (Solo a) -> Solo a

stimes :: Integral b => b -> Solo a -> Solo a

Eq a => Eq (Solo a) 
Instance details

Defined in GHC.Classes

Methods

(==) :: Solo a -> Solo a -> Bool

(/=) :: Solo a -> Solo a -> Bool

Ord a => Ord (Solo a) 
Instance details

Defined in GHC.Classes

Methods

compare :: Solo a -> Solo a -> Ordering

(<) :: Solo a -> Solo a -> Bool

(<=) :: Solo a -> Solo a -> Bool

(>) :: Solo a -> Solo a -> Bool

(>=) :: Solo a -> Solo a -> Bool

max :: Solo a -> Solo a -> Solo a

min :: Solo a -> Solo a -> Solo a

getSolo :: Solo a -> a #