-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Singleton Tuple
--
-- This package is a compatibility package for a singleton data type
--
--
-- data Solo a = Solo a
--
--
-- Note: it's not a newtype
--
-- Solo is available in base-4.16 (GHC-9.2).
@package OneTuple
@version 0.3.1
-- | 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.
module Data.Tuple.Solo
-- | Solo is the singleton tuple data type.
data Solo a
Solo :: a -> Solo a
getSolo :: Solo a -> a
instance GHC.Generics.Generic1 Data.Tuple.Solo.Solo
instance GHC.Generics.Generic (Data.Tuple.Solo.Solo a)
instance Data.Data.Data a => Data.Data.Data (Data.Tuple.Solo.Solo a)
instance GHC.Read.Read a => GHC.Read.Read (Data.Tuple.Solo.Solo a)
instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tuple.Solo.Solo a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tuple.Solo.Solo a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tuple.Solo.Solo a)
instance GHC.Show.Show a => GHC.Show.Show (Data.Tuple.Solo.Solo a)
instance GHC.Enum.Enum a => GHC.Enum.Enum (Data.Tuple.Solo.Solo a)
instance GHC.Ix.Ix a => GHC.Ix.Ix (Data.Tuple.Solo.Solo a)
instance Data.Foldable.Foldable Data.Tuple.Solo.Solo
instance Data.Traversable.Traversable Data.Tuple.Solo.Solo
instance GHC.Base.Functor Data.Tuple.Solo.Solo
instance GHC.Base.Applicative Data.Tuple.Solo.Solo
instance GHC.Base.Monad Data.Tuple.Solo.Solo
instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Data.Tuple.Solo.Solo a)
instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Tuple.Solo.Solo a)
instance Control.Monad.Fix.MonadFix Data.Tuple.Solo.Solo
instance Control.Monad.Zip.MonadZip Data.Tuple.Solo.Solo
instance Data.Functor.Classes.Eq1 Data.Tuple.Solo.Solo
instance Data.Functor.Classes.Ord1 Data.Tuple.Solo.Solo
instance Data.Functor.Classes.Read1 Data.Tuple.Solo.Solo
instance Data.Functor.Classes.Show1 Data.Tuple.Solo.Solo
instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (Data.Tuple.Solo.Solo a)
instance Data.Hashable.Class.Hashable1 Data.Tuple.Solo.Solo
-- | This is a module to help migration from OneTuple to
-- Solo. Migrate to use Data.Tuple from
-- base-4.16 or Data.Tuple.Solo with all GHCs.
--
-- The pattern synonym is provided for GHCs supporting pattern synonyms
-- (7.8+)
-- | Deprecated: Use Data.Tuple.Solo
module Data.Tuple.OneTuple
type OneTuple = Solo
pattern OneTuple :: a -> Solo a
only :: OneTuple a -> a
-- | This module provides TH helpers, which use Solo from this
-- package, for 1-tuples.
module Data.Tuple.Solo.TH
tupE :: Monad m => [m Exp] -> m Exp