extensible-sp-0.1.0.0: light-weight, extensible sums and products over types and kinds
Data.Extensible.Sum
data a :|: b Source #
Constructors
Instances
Methods
(==) :: (a :|: b) -> (a :|: b) -> Bool #
(/=) :: (a :|: b) -> (a :|: b) -> Bool #
showsPrec :: Int -> (a :|: b) -> ShowS #
show :: (a :|: b) -> String #
showList :: [a :|: b] -> ShowS #
peek :: (c :|: b) -> Maybe a Source #
lft :: a -> c :|: b Source #
peek :: (a :|: b) -> Maybe b Source #
lft :: b -> a :|: b Source #
class SumClass c s where Source #
Minimal complete definition
peek, lft
peek :: c -> Maybe s Source #
lft :: s -> c Source #
peek :: a -> Maybe a Source #
lft :: a -> a Source #
peek :: Maybe a -> Maybe a Source #
lft :: a -> Maybe a Source #
peek :: Either a b -> Maybe a Source #
lft :: a -> Either a b Source #
type (:>|:) w a = SumClass w a Source #
sumPrism :: w :>|: a => Prism' w a Source #