lattices-2.1: Fine-grained library for constructing and manipulating lattices
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.Wide

Description

Synopsis

Documentation

data Wide a Source #

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

Instances details
Monad Wide Source #
Instance details

Defined in Algebra.Lattice.Wide

Functor Wide Source #
Instance details

Defined in Algebra.Lattice.Wide

Applicative Wide Source #
Instance details

Defined in Algebra.Lattice.Wide

Foldable Wide Source #
Instance details

Defined in Algebra.Lattice.Wide

Traversable Wide Source #
Instance details

Defined in Algebra.Lattice.Wide

Eq a => Eq ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Data a => Data ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Methods

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 #
Instance details

Defined in Algebra.Lattice.Wide

Read a => Read ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

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

Defined in Algebra.Lattice.Wide

Generic ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Associated Types

type Rep ( Wide a) :: Type -> Type Source #

Function a => Function ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Arbitrary a => Arbitrary ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

CoArbitrary a => CoArbitrary ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

NFData a => NFData ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Methods

rnf :: Wide a -> () Source #

Hashable a => Hashable ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Universe a => Universe ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Finite a => Finite ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Eq a => PartialOrd ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Eq a => BoundedMeetSemiLattice ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Eq a => BoundedJoinSemiLattice ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Eq a => Lattice ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

Generic1 Wide Source #
Instance details

Defined in Algebra.Lattice.Wide

Associated Types

type Rep1 Wide :: k -> Type Source #

Methods

from1 :: forall (a :: k). Wide a -> Rep1 Wide a Source #

to1 :: forall (a :: k). Rep1 Wide a -> Wide a Source #

type Rep ( Wide a) Source #
Instance details

Defined in Algebra.Lattice.Wide

type Rep1 Wide Source #
Instance details

Defined in Algebra.Lattice.Wide