Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Solo
fills the tuple gap with a singleton tuple.
Solo
does not support the usual parenthesized tuple syntax.
- 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.
Documentation
Solo is the singleton tuple data type.
Solo a |
Instances
Monad Solo Source # | |
Functor Solo Source # | |
MonadFix Solo Source # | |
Defined in Data.Tuple.Solo | |
Applicative Solo Source # | |
Foldable Solo Source # | |
Defined in Data.Tuple.Solo fold :: Monoid m => Solo m -> m # foldMap :: Monoid m => (a -> m) -> Solo a -> m # foldMap' :: Monoid m => (a -> m) -> Solo a -> m # foldr :: (a -> b -> b) -> b -> Solo a -> b # foldr' :: (a -> b -> b) -> b -> Solo a -> b # foldl :: (b -> a -> b) -> b -> Solo a -> b # foldl' :: (b -> a -> b) -> b -> Solo a -> b # foldr1 :: (a -> a -> a) -> Solo a -> a # foldl1 :: (a -> a -> a) -> Solo a -> a # elem :: Eq a => a -> Solo a -> Bool # maximum :: Ord a => Solo a -> a # | |
Traversable Solo Source # | |
Eq1 Solo Source # | |
Ord1 Solo Source # | |
Defined in Data.Tuple.Solo | |
Read1 Solo Source # | |
Show1 Solo Source # | |
MonadZip Solo Source # | |
Hashable1 Solo Source # | Since: 0.3.1 |
Defined in Data.Tuple.Solo | |
Bounded a => Bounded (Solo a) Source # | |
Enum a => Enum (Solo a) Source # | |
Defined in Data.Tuple.Solo | |
Eq a => Eq (Solo a) Source # | |
Data a => Data (Solo a) Source # | |
Defined in Data.Tuple.Solo gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Solo a -> c (Solo a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Solo a) # toConstr :: Solo a -> Constr # dataTypeOf :: Solo a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Solo a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Solo a)) # gmapT :: (forall b. Data b => b -> b) -> Solo a -> Solo a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Solo a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Solo a -> r # gmapQ :: (forall d. Data d => d -> u) -> Solo a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Solo a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Solo a -> m (Solo a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Solo a -> m (Solo a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Solo a -> m (Solo a) # | |
Ord a => Ord (Solo a) Source # | |
Read a => Read (Solo a) Source # | |
Show a => Show (Solo a) Source # | |
Ix a => Ix (Solo a) Source # | |
Generic (Solo a) Source # | |
Semigroup a => Semigroup (Solo a) Source # | |
Monoid a => Monoid (Solo a) Source # | |
Hashable a => Hashable (Solo a) Source # | Since: 0.3.1 |
Defined in Data.Tuple.Solo | |
Generic1 Solo Source # | |
type Rep (Solo a) Source # | |
Defined in Data.Tuple.Solo | |
type Rep1 Solo Source # | |
Defined in Data.Tuple.Solo |