possible-0.1.0.6: Three valued Data.Maybe

Safe HaskellSafe
LanguageHaskell2010

Data.Possible

Documentation

data Possible a Source #

Constructors

HaveNull 
MissingData 
HaveData a 
Instances
Monad Possible Source # 
Instance details

Defined in Data.Possible

Methods

(>>=) :: Possible a -> (a -> Possible b) -> Possible b #

(>>) :: Possible a -> Possible b -> Possible b #

return :: a -> Possible a #

fail :: String -> Possible a #

Functor Possible Source # 
Instance details

Defined in Data.Possible

Methods

fmap :: (a -> b) -> Possible a -> Possible b #

(<$) :: a -> Possible b -> Possible a #

MonadFail Possible Source # 
Instance details

Defined in Data.Possible

Methods

fail :: String -> Possible a #

Applicative Possible Source # 
Instance details

Defined in Data.Possible

Methods

pure :: a -> Possible a #

(<*>) :: Possible (a -> b) -> Possible a -> Possible b #

liftA2 :: (a -> b -> c) -> Possible a -> Possible b -> Possible c #

(*>) :: Possible a -> Possible b -> Possible b #

(<*) :: Possible a -> Possible b -> Possible a #

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

Defined in Data.Possible

Methods

showsPrec :: Int -> Possible a -> ShowS #

show :: Possible a -> String #

showList :: [Possible a] -> ShowS #

Generic (Possible a) Source # 
Instance details

Defined in Data.Possible

Associated Types

type Rep (Possible a) :: Type -> Type #

Methods

from :: Possible a -> Rep (Possible a) x #

to :: Rep (Possible a) x -> Possible a #

type Rep (Possible a) Source # 
Instance details

Defined in Data.Possible

type Rep (Possible a) = D1 (MetaData "Possible" "Data.Possible" "possible-0.1.0.6-6KccxYPsF4X5bP4An68hYs" False) (C1 (MetaCons "HaveNull" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "MissingData" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "HaveData" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a))))

possible :: b -> b -> (a -> b) -> Possible a -> b Source #