| 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 |
Algebra.Lattice.Levitated
Description
Synopsis
- data Levitated a
- retractLevitated :: (BoundedMeetSemiLattice a, BoundedJoinSemiLattice a) => Levitated a -> a
- foldLevitated :: b -> (a -> b) -> b -> Levitated a -> b
Documentation
Graft a distinct top and bottom onto an otherwise unbounded lattice. The top is the absorbing element for the join, and the bottom is the absorbing element for the meet.
Instances
| Applicative Levitated Source # | |||||
| Functor Levitated Source # | |||||
| Monad Levitated Source # | |||||
| Foldable Levitated Source # | |||||
Defined in Algebra.Lattice.Levitated Methods fold :: Monoid m => Levitated m -> m foldMap :: Monoid m => (a -> m) -> Levitated a -> m foldMap' :: Monoid m => (a -> m) -> Levitated a -> m foldr :: (a -> b -> b) -> b -> Levitated a -> b foldr' :: (a -> b -> b) -> b -> Levitated a -> b foldl :: (b -> a -> b) -> b -> Levitated a -> b foldl' :: (b -> a -> b) -> b -> Levitated a -> b foldr1 :: (a -> a -> a) -> Levitated a -> a foldl1 :: (a -> a -> a) -> Levitated a -> a elem :: Eq a => a -> Levitated a -> Bool maximum :: Ord a => Levitated a -> a minimum :: Ord a => Levitated a -> a | |||||
| Traversable Levitated Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Generic1 Levitated Source # | |||||
Defined in Algebra.Lattice.Levitated Associated Types
| |||||
| Arbitrary a => Arbitrary (Levitated a) Source # | |||||
| CoArbitrary a => CoArbitrary (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated Methods coarbitrary :: Levitated a -> Gen b -> Gen b | |||||
| Function a => Function (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| NFData a => NFData (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Data a => Data (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Levitated a -> c (Levitated a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Levitated a) toConstr :: Levitated a -> Constr dataTypeOf :: Levitated a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Levitated a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Levitated a)) gmapT :: (forall b. Data b => b -> b) -> Levitated a -> Levitated a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Levitated a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Levitated a -> r gmapQ :: (forall d. Data d => d -> u) -> Levitated a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Levitated a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Levitated a -> m (Levitated a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Levitated a -> m (Levitated a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Levitated a -> m (Levitated a) | |||||
| Generic (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated Associated Types
| |||||
| Read a => Read (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Show a => Show (Levitated a) Source # | |||||
| Eq a => Eq (Levitated a) Source # | |||||
| Ord a => Ord (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Hashable a => Hashable (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Lattice a => BoundedJoinSemiLattice (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Lattice a => BoundedMeetSemiLattice (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Lattice a => Lattice (Levitated a) Source # | |||||
| PartialOrd a => PartialOrd (Levitated a) Source # | |||||
| Finite a => Finite (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| Universe a => Universe (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated | |||||
| type Rep1 Levitated Source # | |||||
Defined in Algebra.Lattice.Levitated type Rep1 Levitated = D1 ('MetaData "Levitated" "Algebra.Lattice.Levitated" "lattices-2.2.1.1-DOiSBgvrTjdFgPaGHAnlJl" 'False) (C1 ('MetaCons "Bottom" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Levitate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "Top" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
| type Rep (Levitated a) Source # | |||||
Defined in Algebra.Lattice.Levitated type Rep (Levitated a) = D1 ('MetaData "Levitated" "Algebra.Lattice.Levitated" "lattices-2.2.1.1-DOiSBgvrTjdFgPaGHAnlJl" 'False) (C1 ('MetaCons "Bottom" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Levitate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Top" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
retractLevitated :: (BoundedMeetSemiLattice a, BoundedJoinSemiLattice a) => Levitated a -> a Source #
Interpret using the Levitated aBoundedLattice of a.
foldLevitated :: b -> (a -> b) -> b -> Levitated a -> b Source #
Fold Levitated.