{-# LANGUAGE Trustworthy #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE ParallelArrays, MagicHash #-} {-# OPTIONS_GHC -funbox-strict-fields #-} {-# OPTIONS_HADDOCK hide #-} ----------------------------------------------------------------------------- -- | -- Module : GHC.PArr -- Copyright : (c) 2001-2011 The Data Parallel Haskell team -- License : see libraries/base/LICENSE -- -- Maintainer : cvs-ghc@haskell.org -- Stability : internal -- Portability : non-portable (GHC Extensions) -- -- BIG UGLY HACK: The desugarer special cases this module. Despite the uses of '-XParallelArrays', -- the desugarer does not load 'Data.Array.Parallel' into its global state. (Hence, -- the present module may not use any other piece of '-XParallelArray' syntax.) -- -- This will be cleaned up when we change the internal represention of '[::]' to not -- rely on a wired-in type constructor. module GHC.PArr where import GHC.Base -- Representation of parallel arrays -- -- Vanilla representation of parallel Haskell based on standard GHC arrays that is used if the -- vectorised is /not/ used. -- -- NB: This definition *must* be kept in sync with `TysWiredIn.parrTyCon'! -- data [::] e = PArr !Int (Array# e) type PArr = [::] -- this synonym is to get access to '[::]' without using the special syntax