lattices-1.6.0: Fine-grained library for constructing and manipulating lattices

Copyright (C) 2010-2015 Maximilian Bolingbroke 2015 Oleg Grenrus BSD-3-Clause (see the file LICENSE) Oleg Grenrus Safe Haskell2010

Algebra.Lattice.Divisibility

Description

Synopsis

# Documentation

newtype Divisibility a Source #

A divisibility lattice. join = lcm, meet = gcd.

Constructors

 Divisibility FieldsgetDivisibility :: a

Instances

 Source # Methods(>>=) :: Divisibility a -> (a -> Divisibility b) -> Divisibility b #(>>) :: Divisibility a -> Divisibility b -> Divisibility b #return :: a -> Divisibility a # Source # Methodsfmap :: (a -> b) -> Divisibility a -> Divisibility b #(<\$) :: a -> Divisibility b -> Divisibility a # Source # Methodspure :: a -> Divisibility a #(<*>) :: Divisibility (a -> b) -> Divisibility a -> Divisibility b #(*>) :: Divisibility a -> Divisibility b -> Divisibility b #(<*) :: Divisibility a -> Divisibility b -> Divisibility a # Source # Methodsfold :: Monoid m => Divisibility m -> m #foldMap :: Monoid m => (a -> m) -> Divisibility a -> m #foldr :: (a -> b -> b) -> b -> Divisibility a -> b #foldr' :: (a -> b -> b) -> b -> Divisibility a -> b #foldl :: (b -> a -> b) -> b -> Divisibility a -> b #foldl' :: (b -> a -> b) -> b -> Divisibility a -> b #foldr1 :: (a -> a -> a) -> Divisibility a -> a #foldl1 :: (a -> a -> a) -> Divisibility a -> a #toList :: Divisibility a -> [a] #null :: Divisibility a -> Bool #length :: Divisibility a -> Int #elem :: Eq a => a -> Divisibility a -> Bool #maximum :: Ord a => Divisibility a -> a #minimum :: Ord a => Divisibility a -> a #sum :: Num a => Divisibility a -> a #product :: Num a => Divisibility a -> a # Source # Methodstraverse :: Applicative f => (a -> f b) -> Divisibility a -> f (Divisibility b) #sequenceA :: Applicative f => Divisibility (f a) -> f (Divisibility a) #mapM :: Monad m => (a -> m b) -> Divisibility a -> m (Divisibility b) #sequence :: Monad m => Divisibility (m a) -> m (Divisibility a) # Source # Associated Typestype Rep1 (Divisibility :: * -> *) :: * -> * # Methods Eq a => Eq (Divisibility a) Source # Methods(==) :: Divisibility a -> Divisibility a -> Bool #(/=) :: Divisibility a -> Divisibility a -> Bool # Data a => Data (Divisibility a) Source # Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Divisibility a -> c (Divisibility a) #gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Divisibility a) #dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Divisibility a)) #dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Divisibility a)) #gmapT :: (forall b. Data b => b -> b) -> Divisibility a -> Divisibility a #gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Divisibility a -> r #gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Divisibility a -> r #gmapQ :: (forall d. Data d => d -> u) -> Divisibility a -> [u] #gmapQi :: Int -> (forall d. Data d => d -> u) -> Divisibility a -> u #gmapM :: Monad m => (forall d. Data d => d -> m d) -> Divisibility a -> m (Divisibility a) #gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Divisibility a -> m (Divisibility a) #gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Divisibility a -> m (Divisibility a) # Ord a => Ord (Divisibility a) Source # Methodscompare :: Divisibility a -> Divisibility a -> Ordering #(<) :: Divisibility a -> Divisibility a -> Bool #(<=) :: Divisibility a -> Divisibility a -> Bool #(>) :: Divisibility a -> Divisibility a -> Bool #(>=) :: Divisibility a -> Divisibility a -> Bool #max :: Divisibility a -> Divisibility a -> Divisibility a #min :: Divisibility a -> Divisibility a -> Divisibility a # Read a => Read (Divisibility a) Source # Methods Show a => Show (Divisibility a) Source # MethodsshowsPrec :: Int -> Divisibility a -> ShowS #show :: Divisibility a -> String #showList :: [Divisibility a] -> ShowS # Source # Associated Typestype Rep (Divisibility a) :: * -> * # Methodsfrom :: Divisibility a -> Rep (Divisibility a) x #to :: Rep (Divisibility a) x -> Divisibility a # NFData a => NFData (Divisibility a) Source # Methodsrnf :: Divisibility a -> () # Hashable a => Hashable (Divisibility a) Source # MethodshashWithSalt :: Int -> Divisibility a -> Int #hash :: Divisibility a -> Int # (Eq a, Integral a) => PartialOrd (Divisibility a) Source # Methodsleq :: Divisibility a -> Divisibility a -> Bool Source # Source # Methods Integral a => Lattice (Divisibility a) Source # Source # Methods Source # Methods type Rep1 Divisibility Source # type Rep1 Divisibility = D1 (MetaData "Divisibility" "Algebra.Lattice.Divisibility" "lattices-1.6.0-2oKxOcsrwg99Rpe11Qz7rb" True) (C1 (MetaCons "Divisibility" PrefixI True) (S1 (MetaSel (Just Symbol "getDivisibility") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1)) type Rep (Divisibility a) Source # type Rep (Divisibility a) = D1 (MetaData "Divisibility" "Algebra.Lattice.Divisibility" "lattices-1.6.0-2oKxOcsrwg99Rpe11Qz7rb" True) (C1 (MetaCons "Divisibility" PrefixI True) (S1 (MetaSel (Just Symbol "getDivisibility") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))