
Hi,
I don't know about Unboxed, but you can define a newtype wrapper
around Data.Vector.Storable that includes the size as a type-level
natural.
i.e.
data Z
data S n
newtype Vec n a = Vec (Vector a)
Then you can define a storable instance for Storable a => Vec n a, and
thus you can define a storable vector for Vec n a.
Not that you need something like this because storable instances must
have fixed size. I don't know if this is also true for Unbox.
I've done this using lists as the underlying container inside the
typed vectors, but you could use Data.Vector.Storable instead with
minimal effort:
https://github.com/glutamate/space/blob/master/VectorsL.hs
Tom
On Wed, Nov 9, 2011 at 9:56 AM, kaffeepause73
Hello,
quick question about unboxed Vectors :
Is it possible to create an unboxed vector of unboxed vector ? :
import qualified Data.Vector.Unboxed as V type UnboxedNestedVextor = V.Vector (V.Vector Int)
Alternatively I would have to use:
import qualified Data.Vector.Unboxed as V import qualified Data.Vector as VB
type UnboxedNestedVextor = VB.Vector (V.Vector Int)
Is there a rule of thumb how much quicker Unboxed Vectors are ?
Cheers Phil
-- View this message in context: http://haskell.1045720.n5.nabble.com/Data-Vector-Unboxed-tp4977289p4977289.h... Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe