+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
module VectType ( vectTyCon, vectType, vectTypeEnv,
- PAInstance, buildPADict )
+ mkRepr, arrShapeTys, arrShapeVars, arrSelector,
+ PAInstance, buildPADict )
where
#include "HsVersions.h"
replicateShape (VoidRepr {}) len _ = return [len]
replicateShape (EnumRepr {}) len _ = return [len]
+arrSelector :: Repr -> [a] -> a
+arrSelector (SumRepr {}) [_, sel, _] = sel
+arrSelector _ _ = panic "arrSelector"
+
emptyArrRepr :: Repr -> VM [CoreExpr]
emptyArrRepr (SumRepr { sum_components = prods })
= liftM concat $ mapM emptyArrRepr prods