{-# LANGUAGE TypeFamilies, FlexibleInstances, MultiParamTypeClasses, FlexibleContexts #-}

--
-- | An instance
--
-- @
--     instance Num s => SVM.ScanVectorMachine ([::]) s
-- @
--
--   ... demonstrating that the parallel arrays @[:s:]@ of
--   Data Parallel Haskell support the SVM operations.  In truth this
--   is a bit backward: DPH is a high-level nested data parallel
--   language which ought to /compile down to/ something like SVM.
--   Unfortunately DPH's @mapP@ allows closures and uncontained
--   recursion into the parallel context, so this isn't possible.
--
module Control.Parallel.ScanVectorMachine.DataParallelHaskellSVM where
import Control.Parallel.ScanVectorMachine.ScanVectorMachine as SVM

{-
instance Num s => SVM.ScanVectorMachine ([::]) s where
  neg         a       = error "FIXME: not implemented"
  leq         a b     = error "FIXME: not implemented"
  op       o  a b     = error "FIXME: not implemented"
  select      b x y   = error "FIXME: not implemented"
  permute     a i     = error "FIXME: not implemented"
  insert      a pos s = error "FIXME: not implemented"
  extract     a pos   = error "FIXME: not implemented"
  distribute  s len   = error "FIXME: not implemented"
  length      a       = error "FIXME: not implemented"
  scan     o  a       = error "FIXME: not implemented"
-}