-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Singleton Tuple
--
-- This package provides a singleton tuple data type
--
--
-- data OneTuple = OneTuple a
--
--
-- Note: it's not a newtype
@package OneTuple
@version 0.2.2
-- | 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
--
module Data.Tuple.OneTuple
-- | OneTuple is the singleton tuple data type.
data OneTuple a
-- | singleton tuple constructor
OneTuple :: a -> OneTuple a
-- | The only function extracts the OneTuple's only member. (Compare
-- to fst and snd.)
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 Data.Semigroup.Semigroup a => Data.Semigroup.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