Fin-0.2.7.0: Finite totally-ordered sets

Safe HaskellNone
LanguageHaskell2010

Data.Fin

Documentation

data Fin :: Peano -> * where Source #

Constructors

Zero :: Fin (Succ n) 
Succ :: Fin n -> Fin (Succ n) 
Instances
Natural n => Bounded (Fin (Succ n)) Source # 
Instance details

Defined in Data.Fin.Private

Methods

minBound :: Fin (Succ n) #

maxBound :: Fin (Succ n) #

Natural n => Enum (Fin n) Source # 
Instance details

Defined in Data.Fin.Private

Methods

succ :: Fin n -> Fin n #

pred :: Fin n -> Fin n #

toEnum :: Int -> Fin n #

fromEnum :: Fin n -> Int #

enumFrom :: Fin n -> [Fin n] #

enumFromThen :: Fin n -> Fin n -> [Fin n] #

enumFromTo :: Fin n -> Fin n -> [Fin n] #

enumFromThenTo :: Fin n -> Fin n -> Fin n -> [Fin n] #

Eq (Fin n) Source # 
Instance details

Defined in Data.Fin.Private

Methods

(==) :: Fin n -> Fin n -> Bool #

(/=) :: Fin n -> Fin n -> Bool #

Natural n => Num (Fin n) Source # 
Instance details

Defined in Data.Fin.Private

Methods

(+) :: Fin n -> Fin n -> Fin n #

(-) :: Fin n -> Fin n -> Fin n #

(*) :: Fin n -> Fin n -> Fin n #

negate :: Fin n -> Fin n #

abs :: Fin n -> Fin n #

signum :: Fin n -> Fin n #

fromInteger :: Integer -> Fin n #

Ord (Fin n) Source # 
Instance details

Defined in Data.Fin.Private

Methods

compare :: Fin n -> Fin n -> Ordering #

(<) :: Fin n -> Fin n -> Bool #

(<=) :: Fin n -> Fin n -> Bool #

(>) :: Fin n -> Fin n -> Bool #

(>=) :: Fin n -> Fin n -> Bool #

max :: Fin n -> Fin n -> Fin n #

min :: Fin n -> Fin n -> Fin n #

(Natural n, Read (Fin n)) => Read (Fin (Succ n)) Source # 
Instance details

Defined in Data.Fin.Private

Read (Fin Zero) Source # 
Instance details

Defined in Data.Fin.Private

Show (Fin n) Source # 
Instance details

Defined in Data.Fin.Private

Methods

showsPrec :: Int -> Fin n -> ShowS #

show :: Fin n -> String #

showList :: [Fin n] -> ShowS #

enum :: Natural n => List n (Fin n) Source #

inj₁ :: Fin n -> Fin (Succ n) Source #

proj₁ :: Natural n => Fin (Succ n) -> Maybe (Fin n) Source #

lift₁ :: (Fin m -> Fin n) -> Fin (Succ m) -> Fin (Succ n) Source #

fromFin :: Integral a => Fin n -> a Source #

toFin :: forall n a. (Natural n, Integral a) => a -> Fin (Succ n) Source #

toFinMay :: (Natural n, Integral a) => a -> Maybe (Fin n) Source #