-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Singleton Tuple
--   
--   This package provides a singleton tuple data type
--   
--   <pre>
--   data OneTuple a = OneTuple a
--   </pre>
--   
--   Note: it's not a <tt>newtype</tt>
@package OneTuple
@version 0.2.2.1


-- | OneTuple fills the <i>tuple gap</i> with a singleton tuple.
--   
--   OneTuple <i>does not support</i> the usual parenthesized tuple syntax.
--   
--   OneTuple
--   
--   <ul>
--   <li>has the expected laziness properties</li>
--   <li>can be pattern-matched</li>
--   <li>ships with instances for several standard type classes, including
--   all those supported by H98-standard tuples</li>
--   <li>requires no language extensions, except for hierarchical
--   modules</li>
--   </ul>
module Data.Tuple.OneTuple

-- | OneTuple is the singleton tuple data type.
data OneTuple a

-- | singleton tuple constructor
OneTuple :: a -> OneTuple a

-- | The <a>only</a> function extracts the OneTuple's only member. (Compare
--   to <a>fst</a> and <a>snd</a>.)
only :: OneTuple a -> a
instance GHC.Read.Read a => GHC.Read.Read (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Show.Show a => GHC.Show.Show (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Enum.Enum a => GHC.Enum.Enum (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tuple.OneTuple.OneTuple a)
instance Data.Foldable.Foldable Data.Tuple.OneTuple.OneTuple
instance Data.Traversable.Traversable Data.Tuple.OneTuple.OneTuple
instance GHC.Base.Functor Data.Tuple.OneTuple.OneTuple
instance GHC.Base.Applicative Data.Tuple.OneTuple.OneTuple
instance GHC.Base.Monad Data.Tuple.OneTuple.OneTuple
instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Data.Tuple.OneTuple.OneTuple a)
instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Tuple.OneTuple.OneTuple a)
instance Control.Monad.Fix.MonadFix Data.Tuple.OneTuple.OneTuple
