Copyright | (C) 2010-2015 Maximilian Bolingbroke 2015-2019 Oleg Grenrus |
---|---|
License | BSD-3-Clause (see the file LICENSE) |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Safe Haskell | Safe |
Language | Haskell2010 |
Documentation
Graft a distinct top and bottom onto any type.
The
Top
is identity for
/\
and the absorbing element for
\/
.
The
Bottom
is the identity for
\/
and and the absorbing element for
/\
.
Two
Middle
values join to top, unless they are equal.
Instances
Monad Wide Source # | |
Functor Wide Source # | |
Applicative Wide Source # | |
Foldable Wide Source # | |
Defined in Algebra.Lattice.Wide fold :: Monoid m => Wide m -> m Source # foldMap :: Monoid m => (a -> m) -> Wide a -> m Source # foldMap' :: Monoid m => (a -> m) -> Wide a -> m Source # foldr :: (a -> b -> b) -> b -> Wide a -> b Source # foldr' :: (a -> b -> b) -> b -> Wide a -> b Source # foldl :: (b -> a -> b) -> b -> Wide a -> b Source # foldl' :: (b -> a -> b) -> b -> Wide a -> b Source # foldr1 :: (a -> a -> a) -> Wide a -> a Source # foldl1 :: (a -> a -> a) -> Wide a -> a Source # toList :: Wide a -> [a] Source # null :: Wide a -> Bool Source # length :: Wide a -> Int Source # elem :: Eq a => a -> Wide a -> Bool Source # maximum :: Ord a => Wide a -> a Source # minimum :: Ord a => Wide a -> a Source # |
|
Traversable Wide Source # | |
Eq a => Eq ( Wide a) Source # | |
Data a => Data ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> Wide a -> c ( Wide a) Source # gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Wide a) Source # toConstr :: Wide a -> Constr Source # dataTypeOf :: Wide a -> DataType Source # dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Wide a)) Source # dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Wide a)) Source # gmapT :: ( forall b. Data b => b -> b) -> Wide a -> Wide a Source # gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Wide a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Wide a -> r Source # gmapQ :: ( forall d. Data d => d -> u) -> Wide a -> [u] Source # gmapQi :: Int -> ( forall d. Data d => d -> u) -> Wide a -> u Source # gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Wide a -> m ( Wide a) Source # gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Wide a -> m ( Wide a) Source # gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Wide a -> m ( Wide a) Source # |
|
Ord a => Ord ( Wide a) Source # | |
Read a => Read ( Wide a) Source # | |
Show a => Show ( Wide a) Source # | |
Generic ( Wide a) Source # | |
Function a => Function ( Wide a) Source # | |
Arbitrary a => Arbitrary ( Wide a) Source # | |
CoArbitrary a => CoArbitrary ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide |
|
NFData a => NFData ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide |
|
Hashable a => Hashable ( Wide a) Source # | |
Universe a => Universe ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide |
|
Finite a => Finite ( Wide a) Source # | |
Eq a => PartialOrd ( Wide a) Source # | |
Eq a => BoundedMeetSemiLattice ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide |
|
Eq a => BoundedJoinSemiLattice ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide |
|
Eq a => Lattice ( Wide a) Source # | |
Generic1 Wide Source # | |
type Rep ( Wide a) Source # | |
Defined in Algebra.Lattice.Wide
type
Rep
(
Wide
a) =
D1
('
MetaData
"Wide" "Algebra.Lattice.Wide" "lattices-2.1-Aj77JapAM1ZIiO74F5gL5i" '
False
) (
C1
('
MetaCons
"Top" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)
:+:
(
C1
('
MetaCons
"Middle" '
PrefixI
'
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
a))
:+:
C1
('
MetaCons
"Bottom" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)))
|
|
type Rep1 Wide Source # | |
Defined in Algebra.Lattice.Wide
type
Rep1
Wide
=
D1
('
MetaData
"Wide" "Algebra.Lattice.Wide" "lattices-2.1-Aj77JapAM1ZIiO74F5gL5i" '
False
) (
C1
('
MetaCons
"Top" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)
:+:
(
C1
('
MetaCons
"Middle" '
PrefixI
'
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
)
Par1
)
:+:
C1
('
MetaCons
"Bottom" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)))
|