OneTuple-0.2.2: Singleton Tuple

Safe HaskellSafe
LanguageHaskell98

Data.Tuple.OneTuple

Description

OneTuple fills the tuple gap with a singleton tuple.

OneTuple does not support the usual parenthesized tuple syntax.

OneTuple

  • 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
Synopsis

Documentation

data OneTuple a Source #

OneTuple is the singleton tuple data type.

Constructors

OneTuple a

singleton tuple constructor

Instances
Monad OneTuple Source # 
Instance details

Defined in Data.Tuple.OneTuple

Methods

(>>=) :: OneTuple a -> (a -> OneTuple b) -> OneTuple b Source #

(>>) :: OneTuple a -> OneTuple b -> OneTuple b Source #

return :: a -> OneTuple a Source #

fail :: String -> OneTuple a Source #

Functor OneTuple Source # 
Instance details

Defined in Data.Tuple.OneTuple

Methods

fmap :: (a -> b) -> OneTuple a -> OneTuple b Source #

(<$) :: a -> OneTuple b -> OneTuple a Source #

MonadFix OneTuple Source # 
Instance details

Defined in Data.Tuple.OneTuple

Methods

mfix :: (a -> OneTuple a) -> OneTuple a Source #

Applicative OneTuple Source # 
Instance details

Defined in Data.Tuple.OneTuple

Methods

pure :: a -> OneTuple a Source #

(<*>) :: OneTuple (a -> b) -> OneTuple a -> OneTuple b Source #

liftA2 :: (a -> b -> c) -> OneTuple a -> OneTuple b -> OneTuple c Source #

(*>) :: OneTuple a -> OneTuple b -> OneTuple b Source #

(<*) :: OneTuple a -> OneTuple b -> OneTuple a Source #

Foldable OneTuple Source # 
Instance details

Defined in Data.Tuple.OneTuple

Methods

fold :: Monoid m => OneTuple m -> m Source #

foldMap :: Monoid m => (a -> m) -> OneTuple a -> m Source #

foldr :: (a -> b -> b) -> b -> OneTuple a -> b Source #

foldr' :: (a -> b -> b) -> b -> OneTuple a -> b Source #

foldl :: (b -> a -> b) -> b -> OneTuple a -> b Source #

foldl' :: (b -> a -> b) -> b -> OneTuple a -> b Source #

foldr1 :: (a -> a -> a) -> OneTuple a -> a Source #

foldl1 :: (a -> a -> a) -> OneTuple a -> a Source #

toList :: OneTuple a -> [a] Source #

null :: OneTuple a -> Bool Source #

length :: OneTuple a -> Int Source #

elem :: Eq a => a -> OneTuple a -> Bool Source #

maximum :: Ord a => OneTuple a -> a Source #

minimum :: Ord a => OneTuple a -> a Source #

sum :: Num a => OneTuple a -> a Source #

product :: Num a => OneTuple a -> a Source #

Traversable OneTuple Source # 
Instance details

Defined in Data.Tuple.OneTuple

Methods

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

sequenceA :: Applicative f => OneTuple (f a) -> f (OneTuple a) Source #

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

sequence :: Monad m => OneTuple (m a) -> m (OneTuple a) Source #

Bounded a => Bounded (OneTuple a) Source # 
Instance details

Defined in Data.Tuple.OneTuple

Enum a => Enum (OneTuple a) Source # 
Instance details

Defined in Data.Tuple.OneTuple

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

Defined in Data.Tuple.OneTuple

Methods

(==) :: OneTuple a -> OneTuple a -> Bool Source #

(/=) :: OneTuple a -> OneTuple a -> Bool Source #

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

Defined in Data.Tuple.OneTuple

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

Defined in Data.Tuple.OneTuple

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

Defined in Data.Tuple.OneTuple

Ix a => Ix (OneTuple a) Source # 
Instance details

Defined in Data.Tuple.OneTuple

Semigroup a => Semigroup (OneTuple a) Source # 
Instance details

Defined in Data.Tuple.OneTuple

Monoid a => Monoid (OneTuple a) Source # 
Instance details

Defined in Data.Tuple.OneTuple

only Source #

Arguments

:: OneTuple a

takes a singleton tuple argument

-> a

returns the only element in the tuple

The only function extracts the OneTuple's only member. (Compare to fst and snd.)