OneTuple-0.3.1: Singleton Tuple
Safe Haskell Safe
Language Haskell98

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.

Synopsis

Documentation

data Solo a Source #

Solo is the singleton tuple data type.

Constructors

Solo a

Instances

Instances details
Monad Solo Source #
Instance details

Defined in Data.Tuple.Solo

Functor Solo Source #
Instance details

Defined in Data.Tuple.Solo

MonadFix Solo Source #
Instance details

Defined in Data.Tuple.Solo

Methods

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

Applicative Solo Source #
Instance details

Defined in Data.Tuple.Solo

Foldable Solo Source #
Instance details

Defined in Data.Tuple.Solo

Traversable Solo Source #
Instance details

Defined in Data.Tuple.Solo

Eq1 Solo Source #
Instance details

Defined in Data.Tuple.Solo

Methods

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

Ord1 Solo Source #
Instance details

Defined in Data.Tuple.Solo

Read1 Solo Source #
Instance details

Defined in Data.Tuple.Solo

Show1 Solo Source #
Instance details

Defined in Data.Tuple.Solo

MonadZip Solo Source #
Instance details

Defined in Data.Tuple.Solo

Hashable1 Solo Source #

Since: 0.3.1

Instance details

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

Data a => Data ( Solo a) Source #
Instance details

Defined in Data.Tuple.Solo

Methods

gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> Solo a -> c ( Solo a) Source #

gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Solo a) Source #

toConstr :: Solo a -> Constr Source #

dataTypeOf :: Solo a -> DataType Source #

dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Solo a)) Source #

dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Solo a)) Source #

gmapT :: ( forall b. Data b => b -> b) -> Solo a -> Solo a Source #

gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Solo a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Solo a -> r Source #

gmapQ :: ( forall d. Data d => d -> u) -> Solo a -> [u] Source #

gmapQi :: Int -> ( forall d. Data d => d -> u) -> Solo a -> u Source #

gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Solo a -> m ( Solo a) Source #

gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Solo a -> m ( Solo a) Source #

gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Solo a -> m ( Solo a) Source #

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

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

Generic ( Solo a) Source #
Instance details

Defined in Data.Tuple.Solo

Associated Types

type Rep ( Solo a) :: Type -> Type Source #

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

Defined in Data.Tuple.Solo

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

Defined in Data.Tuple.Solo

Hashable a => Hashable ( Solo a) Source #

Since: 0.3.1

Instance details

Defined in Data.Tuple.Solo

Generic1 Solo Source #
Instance details

Defined in Data.Tuple.Solo

Associated Types

type Rep1 Solo :: k -> Type Source #

Methods

from1 :: forall (a :: k). Solo a -> Rep1 Solo a Source #

to1 :: forall (a :: k). Rep1 Solo a -> Solo a Source #

type Rep ( Solo a) Source #
Instance details

Defined in Data.Tuple.Solo

type Rep ( Solo a) = D1 (' MetaData "Solo" "Data.Tuple.Solo" "OneTuple-0.3.1-2dHxJgLo5x9Lj2QijnVAuZ" ' False ) ( C1 (' MetaCons "Solo" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "getSolo") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 a)))
type Rep1 Solo Source #
Instance details

Defined in Data.Tuple.Solo

type Rep1 Solo = D1 (' MetaData "Solo" "Data.Tuple.Solo" "OneTuple-0.3.1-2dHxJgLo5x9Lj2QijnVAuZ" ' False ) ( C1 (' MetaCons "Solo" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "getSolo") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) Par1 ))