-- Types and functions declared in 'Data.Array.Parallel.Prim' and used by the vectoriser.
--
-- The @Builtins@ structure holds the name of all the things in 'Data.Array.Parallel.Prim' that
-- appear in code generated by the vectoriser.

module Vectorise.Builtins (
  -- * Restrictions
  mAX_DPH_SCALAR_ARGS,

  -- * Builtins
  Builtins(..),

  -- * Wrapped selectors
  selTy, selsTy,
  selReplicate,
  selTags,
  selElements,
  selsLength,
  sumTyCon,
  prodTyCon,
  prodDataCon,
  replicatePD_PrimVar,
  emptyPD_PrimVar,
  packByTagPD_PrimVar,
  combinePDVar,
  combinePD_PrimVar,
  scalarZip,
  closureCtrFun,

  -- * Initialisation
  initBuiltins, initBuiltinVars,
) where

import Vectorise.Builtins.Base
import Vectorise.Builtins.Initialise