HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulevector-sized-1.6.1Haskell2010

Data.Vector.Generic.Sized.Internal

  • 1 type
newtypenewtype Vector (v :: Type -> Type) (n :: Nat) a
#

A wrapper to tag vectors with a type level length.

Be careful when using the constructor here to not construct sized vectors which have a different length than that specified in the type parameter!

Constructors

Instances41FoldableWithIndex, FunctorWithIndex, TraversableWithIndex, Monad, Functor, Applicative, …
  • (Unbox a, KnownNat n) => Vector Vector (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Unboxed.Mutable.Sized · orphan
  • (Unbox a, KnownNat n) => MVector MVector (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Unboxed.Mutable.Sized · orphan
  • FoldableWithIndex (Finite n) (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • FunctorWithIndex (Finite n) (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • TraversableWithIndex (Finite n) (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • KnownNat n => Monad (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    Treats a Vector n a as, essentially, a Finite n -> a, and emulates the Monad instance for that function.

    join :: Vector n (Vector n a) -> Vector n a gets the diagonal from a square "matrix".

  • Functor v => Functor (Vector v n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • KnownNat n => Applicative (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    The Applicative instance for sized vectors does not have the same behaviour as the Applicative instance for the unsized vectors found in the vectors package. The instance defined here has the same behaviour as the ZipList instance.

  • Foldable v => Foldable (Vector v n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • Traversable v => Traversable (Vector v n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • Eq1 v => Eq1 (Vector v n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • Ord1 v => Ord1 (Vector v n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • Show1 v => Show1 (Vector v n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • KnownNat n => Distributive (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (KnownNat n, n ~ (1 + m)) => Comonad (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    Non-empty sized vectors are lawful comonads.

    extract is head

    duplicate generates all unique sequences of a vector with the same length as it, using wrap-around.

    e.g. duplicate [1,2,3,4,5] = [[1,2,3,4,5], [2,3,4,5,1], [3,4,5,1,2], [4,5,1,2,3], [5,1,2,3,4]]

  • (KnownNat n, n ~ (1 + m)) => ComonadApply (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • KnownNat n => Representable (Vector Vector n)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • Eq (v a) => Eq (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • (Vector v a, Floating a, KnownNat n) => Floating (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (Vector v a, Fractional a, KnownNat n) => Fractional (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (KnownNat n, Typeable v, Typeable a, Data (v a)) => Data (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • (Vector v a, Num a, KnownNat n) => Num (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • Ord (v a) => Ord (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • (KnownNat n, Vector v a, Read (v a)) => Read (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • Show (v a) => Show (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • (Ix a, Ord (v a), Vector v a) => Ix (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • (Semigroup g, Vector v g) => Semigroup (Vector v n g)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    The Semigroup instance for sized vectors does not have the same behaviour as the Semigroup instance for the unsized vectors found in the vectors package. This instance has (<>) = zipWith (<>), but vectors uses concatentation.

  • (Monoid m, Vector v m, KnownNat n) => Monoid (Vector v n m)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    The Monoid instance for sized vectors does not have the same behaviour as the Monoid instance for the unsized vectors found in the vectors package. This instance has mempty = replicate mempty and mappend = zipWith mappend, where the vectors instance uses the empty vector and concatenation.

    If mempty is not necessary, using the Semigroup instance over this Monoid will dodge the KnownNat constraint.

  • (Vector v a, Bits (v a), Bits a, KnownNat n) => Bits (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    Only usable if v a is itself an instance of Bits, like in the case with the bitvec library Bit type for unboxed vectors.

  • (Vector v a, Bits (v a), FiniteBits a, KnownNat n) => FiniteBits (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    Treats a bit vector as n times the size of the stored bits, reflecting the Bits instance; does not necessarily reflect exact in-memory representation. See Storable instance to get information on the actual in-memry representation.

  • (KnownNat n, Storable a, Vector v a) => Storable (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan

    Any sized vector containing Storable elements is itself Storable.

  • NFData (v a) => NFData (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized.Internal
  • (Vector v a, Binary a, KnownNat n) => Binary (Vector v n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (Eq a, Hashable a) => Hashable (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (Eq a, Hashable a, Storable a) => Hashable (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (Eq a, Hashable a, Unbox a) => Hashable (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • (Unbox a, KnownNat n) => Unbox (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Unboxed.Mutable.Sized · orphan

    This instance allows to define sized matrices and tensors backed by continuous memory segments, which reduces memory allocations and relaxes pressure on garbage collector.

  • type Mutable (Vector v n) = MVector (Mutable v) nDefined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan
  • data MVector s (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Unboxed.Mutable.Sized · orphan
  • data Vector (Vector Vector n a)Defined in vector-sized-1.6.1 · Data.Vector.Unboxed.Mutable.Sized · orphan
  • type Rep (Vector Vector n) = Finite nDefined in vector-sized-1.6.1 · Data.Vector.Generic.Sized · orphan