sized-0.2.1.1: Sized sequence data-types

Safe HaskellNone
LanguageHaskell2010

Data.Sized.Flipped

Synopsis

Documentation

newtype Flipped f a n Source #

Wrapper for Sized which takes length as its last element, instead of the second.

Since 0.2.0.0

Constructors

Flipped 

Fields

Instances

Eq (f a) => Eq (Flipped nat f a n) Source # 

Methods

(==) :: Flipped nat f a n -> Flipped nat f a n -> Bool #

(/=) :: Flipped nat f a n -> Flipped nat f a n -> Bool #

Ord (f a) => Ord (Flipped nat f a n) Source # 

Methods

compare :: Flipped nat f a n -> Flipped nat f a n -> Ordering #

(<) :: Flipped nat f a n -> Flipped nat f a n -> Bool #

(<=) :: Flipped nat f a n -> Flipped nat f a n -> Bool #

(>) :: Flipped nat f a n -> Flipped nat f a n -> Bool #

(>=) :: Flipped nat f a n -> Flipped nat f a n -> Bool #

max :: Flipped nat f a n -> Flipped nat f a n -> Flipped nat f a n #

min :: Flipped nat f a n -> Flipped nat f a n -> Flipped nat f a n #

Show (f a) => Show (Flipped nat f a n) Source # 

Methods

showsPrec :: Int -> Flipped nat f a n -> ShowS #

show :: Flipped nat f a n -> String #

showList :: [Flipped nat f a n] -> ShowS #

NFData (f a) => NFData (Flipped nat f a n) Source # 

Methods

rnf :: Flipped nat f a n -> () #

Hashable (f a) => Hashable (Flipped nat f a n) Source # 

Methods

hashWithSalt :: Int -> Flipped nat f a n -> Int #

hash :: Flipped nat f a n -> Int #

(Integral (Index (f a)), Ixed (f a), HasOrdinal nat1) => Ixed (Flipped nat1 f a n) Source # 

Methods

ix :: Index (Flipped nat1 f a n) -> Traversal' (Flipped nat1 f a n) (IxValue (Flipped nat1 f a n)) #

Wrapped (Flipped nat f0 a0 n0) Source # 

Associated Types

type Unwrapped (Flipped nat f0 a0 n0) :: * #

Methods

_Wrapped' :: Iso' (Flipped nat f0 a0 n0) (Unwrapped (Flipped nat f0 a0 n0)) #

MonoFunctor (f a) => MonoFunctor (Flipped nat f a n) Source # 

Methods

omap :: (Element (Flipped nat f a n) -> Element (Flipped nat f a n)) -> Flipped nat f a n -> Flipped nat f a n #

MonoFoldable (f a) => MonoFoldable (Flipped nat f a n) Source # 

Methods

ofoldMap :: Monoid m => (Element (Flipped nat f a n) -> m) -> Flipped nat f a n -> m #

ofoldr :: (Element (Flipped nat f a n) -> b -> b) -> b -> Flipped nat f a n -> b #

ofoldl' :: (a -> Element (Flipped nat f a n) -> a) -> a -> Flipped nat f a n -> a #

otoList :: Flipped nat f a n -> [Element (Flipped nat f a n)] #

oall :: (Element (Flipped nat f a n) -> Bool) -> Flipped nat f a n -> Bool #

oany :: (Element (Flipped nat f a n) -> Bool) -> Flipped nat f a n -> Bool #

onull :: Flipped nat f a n -> Bool #

olength :: Flipped nat f a n -> Int #

olength64 :: Flipped nat f a n -> Int64 #

ocompareLength :: Integral i => Flipped nat f a n -> i -> Ordering #

otraverse_ :: Applicative f => (Element (Flipped nat f a n) -> f b) -> Flipped nat f a n -> f () #

ofor_ :: Applicative f => Flipped nat f a n -> (Element (Flipped nat f a n) -> f b) -> f () #

omapM_ :: Applicative m => (Element (Flipped nat f a n) -> m ()) -> Flipped nat f a n -> m () #

oforM_ :: Applicative m => Flipped nat f a n -> (Element (Flipped nat f a n) -> m ()) -> m () #

ofoldlM :: Monad m => (a -> Element (Flipped nat f a n) -> m a) -> a -> Flipped nat f a n -> m a #

ofoldMap1Ex :: Semigroup m => (Element (Flipped nat f a n) -> m) -> Flipped nat f a n -> m #

ofoldr1Ex :: (Element (Flipped nat f a n) -> Element (Flipped nat f a n) -> Element (Flipped nat f a n)) -> Flipped nat f a n -> Element (Flipped nat f a n) #

ofoldl1Ex' :: (Element (Flipped nat f a n) -> Element (Flipped nat f a n) -> Element (Flipped nat f a n)) -> Flipped nat f a n -> Element (Flipped nat f a n) #

headEx :: Flipped nat f a n -> Element (Flipped nat f a n) #

lastEx :: Flipped nat f a n -> Element (Flipped nat f a n) #

unsafeHead :: Flipped nat f a n -> Element (Flipped nat f a n) #

unsafeLast :: Flipped nat f a n -> Element (Flipped nat f a n) #

maximumByEx :: (Element (Flipped nat f a n) -> Element (Flipped nat f a n) -> Ordering) -> Flipped nat f a n -> Element (Flipped nat f a n) #

minimumByEx :: (Element (Flipped nat f a n) -> Element (Flipped nat f a n) -> Ordering) -> Flipped nat f a n -> Element (Flipped nat f a n) #

MonoTraversable (f a) => MonoTraversable (Flipped nat f a n) Source # 

Methods

otraverse :: Applicative f => (Element (Flipped nat f a n) -> f (Element (Flipped nat f a n))) -> Flipped nat f a n -> f (Flipped nat f a n) #

omapM :: Applicative m => (Element (Flipped nat f a n) -> m (Element (Flipped nat f a n))) -> Flipped nat f a n -> m (Flipped nat f a n) #

(~) * (Flipped nat1 f0 a0 n0) t0 => Rewrapped (Flipped nat f1 a1 n1) t0 Source # 
type Index (Flipped nat f a n) Source # 
type Index (Flipped nat f a n) = Ordinal nat n
type IxValue (Flipped nat f a n) Source # 
type IxValue (Flipped nat f a n) = IxValue (f a)
type Unwrapped (Flipped nat f0 a0 n0) Source # 
type Unwrapped (Flipped nat f0 a0 n0) = Sized nat f0 n0 a0
type Element (Flipped nat f a n) Source # 
type Element (Flipped nat f a n) = Element (Sized nat f n a)

pattern (:<) :: forall nat f n a. (ListLike (f a) a, HasOrdinal nat) => forall n1. ((~) nat n (Succ nat n1), SingI nat n1) => a -> Flipped nat f a n1 -> Flipped nat f a n Source #

pattern NilL :: forall nat f n a. (ListLike (f a) a, HasOrdinal nat) => (~) nat n (Zero nat) => Flipped nat f a n Source #

pattern (:>) :: forall nat f n a. (ListLike (f a) a, HasOrdinal nat) => forall n1. ((~) nat n (Succ nat n1), SingI nat n1) => Flipped nat f a n1 -> a -> Flipped nat f a n Source #

pattern NilR :: forall nat f n a. (ListLike (f a) a, HasOrdinal nat) => (~) nat n (Zero nat) => Flipped nat f a n Source #