Safe Haskell | None |
---|---|
Language | Haskell2010 |
Dense primitive arrays where the lower index is zero (or the equivalent of zero for newtypes and enumerations).
Actual write
s to data structures use a more safe write
instead of
the unsafe unsafeWrite
. Writes also tend to occur much less in DP
algorithms (say, N^2 writes for an N^3 time algorithm -- mostly reads
are being executed).
TODO consider if we want to force the lower index to be zero, or allow
non-zero lower indices. Will have to be considered together with the
Index.Class
module!
TODO while Unboxed
is, in princile, Hashable
, we'd need the
corresponding VU.Vector
instances ...
Unboxed, multidimensional arrays.
(Index sh, Unbox elm) => PrimArrayOps Unboxed sh elm Source # | |
(Index sh, Unbox elm) => MPrimArrayOps Unboxed sh elm Source # | |
(Index sh, Unbox e, Unbox e') => PrimArrayMap Unboxed sh e e' Source # | |
(Eq sh, Eq e, Unbox e) => Eq (Unboxed sh e) Source # | |
(Read sh, Read e, Unbox e) => Read (Unboxed sh e) Source # | |
(Show sh, Show e, Unbox e) => Show (Unboxed sh e) Source # | |
Generic (Unboxed sh e) Source # | |
(Hashable sh, Hashable e, Hashable (Vector e), Unbox e) => Hashable (Unboxed sh e) Source # | |
(FromJSON sh, FromJSON e, Unbox e) => FromJSON (Unboxed sh e) Source # | |
(ToJSON sh, ToJSON e, Unbox e) => ToJSON (Unboxed sh e) Source # | |
(Binary sh, Binary e, Unbox e) => Binary (Unboxed sh e) Source # | |
(Serialize sh, Serialize e, Unbox e) => Serialize (Unboxed sh e) Source # | |
NFData sh => NFData (MutArr m (Unboxed sh e)) Source # | |
NFData sh => NFData (Unboxed sh e) Source # | |
data MutArr m (Unboxed sh e) Source # | |
type Rep (Unboxed sh e) Source # | |
Boxed, multidimensional arrays.
Index sh => PrimArrayOps Boxed sh elm Source # | |
Index sh => MPrimArrayOps Boxed sh elm Source # | |
Index sh => PrimArrayMap Boxed sh e e' Source # | |
(Eq sh, Eq e) => Eq (Boxed sh e) Source # | |
(Read sh, Read e) => Read (Boxed sh e) Source # | |
(Show sh, Show e) => Show (Boxed sh e) Source # | |
Generic (Boxed sh e) Source # | |
(Hashable sh, Hashable e, Hashable (Vector e)) => Hashable (Boxed sh e) Source # | |
(FromJSON sh, FromJSON e) => FromJSON (Boxed sh e) Source # | |
(ToJSON sh, ToJSON e) => ToJSON (Boxed sh e) Source # | |
(Binary sh, Binary e) => Binary (Boxed sh e) Source # | |
(Serialize sh, Serialize e) => Serialize (Boxed sh e) Source # | |
NFData sh => NFData (MutArr m (Boxed sh e)) Source # | |
(NFData sh, NFData e) => NFData (Boxed sh e) Source # | |
data MutArr m (Boxed sh e) Source # | |
type Rep (Boxed sh e) Source # | |