dph-lifted-vseg-0.6.0.1: Data/Array/Parallel/Prelude/Base.hs
{-# OPTIONS_GHC -fvectorise #-}
-- |This module sets up the basic vectorisation map for vectorising the DPH Prelude.
module Data.Array.Parallel.Prelude.Base
( PArr
-- , ()
, Bool(..)
, Ordering(..)
, Word8, Int
, Float, Double
, Eq(..), Ord(..)
, Show
, Num(..)
)
where
import Data.Array.Parallel.Prim () -- dependency required by the vectoriser
import Data.Array.Parallel.PArr
import Data.Array.Parallel.PArray.PData.Base
import Data.Array.Parallel.Lifted.Closure
import Data.Word (Word8)
-- internal types
{-# VECTORISE SCALAR type PArr = PArray #-}
{-# VECTORISE SCALAR type PArray = PArray #-}
{-# VECTORISE SCALAR type (->) = (:->) #-}
-- vectorised versions of types from the standard Prelude
{-# VECTORISE type () = () #-}
{-# VECTORISE type Bool = Bool #-}
{-# VECTORISE type Ordering = Ordering #-}
{-# VECTORISE SCALAR type Word8 #-}
{-# VECTORISE SCALAR type Int #-}
{-# VECTORISE SCALAR type Float #-}
{-# VECTORISE SCALAR type Double #-}
-- FIXME: currently a fake definition to allow 'Integer' in SCALAR class instances
{-# VECTORISE SCALAR type Integer #-}
-- vectorised versions of type classes from the standard Prelude
{-# VECTORISE class Eq #-}
{-# VECTORISE class Ord #-}
{-# VECTORISE class Show #-} -- only to facilitate 'Num', no vectorised instances provided
{-# VECTORISE class Num #-}