Module
Data.FastVect.Common
- Package
- purescript-fast-vect
- Repository
- sigma-andex/purescript-fast-vect
#IndexModulo Source
type IndexModulo :: (Int -> Type -> Type) -> Int -> Type -> Type
type IndexModulo vect m elem = Compare m Zero GT => Reflectable m Int => Int -> vect m elem -> elem
#IndexM Source
type IndexM :: (Int -> Type -> Type) -> Int -> Int -> Int -> Int -> Type -> Type
type IndexM vect m m_minus_one i n elem = Compare m_minus_one NegOne GT => Add One m_minus_one m => Compare n NegOne GT => Add i n m_minus_one => Compare i NegOne GT => Reflectable i Int => Proxy i -> vect m elem -> Maybe elem
#IndexModuloM Source
type IndexModuloM :: (Int -> Type -> Type) -> Int -> Type -> Type
type IndexModuloM vect m elem = Compare m Zero GT => Reflectable m Int => Int -> vect m elem -> Maybe elem
#IsVect Source
class IsVect :: (Type -> Type) -> Constraint
class (TraversableWithIndex Int f) <= IsVect f