shapes-0.1.0.0: physics engine and other tools for 2D shapes

Safe HaskellNone
LanguageHaskell2010

Utils.Descending

Description

Keep track of lists that are in some kind of descending order. Doesn't do anything fancy to actually enforce this, though.

Documentation

newtype Descending a Source #

Constructors

Descending 

Fields

Instances

Monad Descending Source # 

Methods

(>>=) :: Descending a -> (a -> Descending b) -> Descending b #

(>>) :: Descending a -> Descending b -> Descending b #

return :: a -> Descending a #

fail :: String -> Descending a #

Functor Descending Source # 

Methods

fmap :: (a -> b) -> Descending a -> Descending b #

(<$) :: a -> Descending b -> Descending a #

Applicative Descending Source # 

Methods

pure :: a -> Descending a #

(<*>) :: Descending (a -> b) -> Descending a -> Descending b #

liftA2 :: (a -> b -> c) -> Descending a -> Descending b -> Descending c #

(*>) :: Descending a -> Descending b -> Descending b #

(<*) :: Descending a -> Descending b -> Descending a #

Foldable Descending Source # 

Methods

fold :: Monoid m => Descending m -> m #

foldMap :: Monoid m => (a -> m) -> Descending a -> m #

foldr :: (a -> b -> b) -> b -> Descending a -> b #

foldr' :: (a -> b -> b) -> b -> Descending a -> b #

foldl :: (b -> a -> b) -> b -> Descending a -> b #

foldl' :: (b -> a -> b) -> b -> Descending a -> b #

foldr1 :: (a -> a -> a) -> Descending a -> a #

foldl1 :: (a -> a -> a) -> Descending a -> a #

toList :: Descending a -> [a] #

null :: Descending a -> Bool #

length :: Descending a -> Int #

elem :: Eq a => a -> Descending a -> Bool #

maximum :: Ord a => Descending a -> a #

minimum :: Ord a => Descending a -> a #

sum :: Num a => Descending a -> a #

product :: Num a => Descending a -> a #

Generic (Descending a) Source # 

Associated Types

type Rep (Descending a) :: * -> * #

Methods

from :: Descending a -> Rep (Descending a) x #

to :: Rep (Descending a) x -> Descending a #

NFData a => NFData (Descending a) Source # 

Methods

rnf :: Descending a -> () #

type Rep (Descending a) Source # 
type Rep (Descending a) = D1 * (MetaData "Descending" "Utils.Descending" "shapes-0.1.0.0-E6UUiYRpOc15rGTlEn6KOE" True) (C1 * (MetaCons "Descending" PrefixI True) (S1 * (MetaSel (Just Symbol "_descList") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [a])))

descList :: forall a a. Iso (Descending a) (Descending a) [a] [a] Source #

descZipVector :: forall a b c s k. (Ord k, MVector MVector b) => (a -> k) -> (b -> k) -> (c -> a -> b -> ST s c) -> (c -> a -> ST s c) -> c -> Descending a -> MVector s b -> ST s c Source #