2 -- | Modules that contain builtin functions used by the vectoriser.
3 module Vectorise.Builtins.Modules
11 -- | Ids of the modules that contain our DPH builtins.
14 { dph_PArray_Base :: Module
15 , dph_PArray_Scalar :: Module
16 , dph_PArray_PRepr :: Module
17 , dph_PArray_PReprInstances :: Module
18 , dph_PArray_PData :: Module
19 , dph_PArray_PDataInstances :: Module
20 , dph_PArray_Types :: Module
23 , dph_Closure :: Module
24 , dph_Unboxed :: Module
25 , dph_Combinators :: Module
26 , dph_Scalar :: Module
28 , dph_Prelude_PArr :: Module
29 , dph_Prelude_Int :: Module
30 , dph_Prelude_Word8 :: Module
31 , dph_Prelude_Double :: Module
32 , dph_Prelude_Bool :: Module
33 , dph_Prelude_Tuple :: Module
37 -- | The locations of builtins in the current DPH library.
38 dph_Modules :: PackageId -> Modules
41 { dph_PArray_Base = mk (fsLit "Data.Array.Parallel.PArray.Base")
42 , dph_PArray_Scalar = mk (fsLit "Data.Array.Parallel.PArray.Scalar")
43 , dph_PArray_PRepr = mk (fsLit "Data.Array.Parallel.PArray.PRepr")
44 , dph_PArray_PReprInstances = mk (fsLit "Data.Array.Parallel.PArray.PReprInstances")
45 , dph_PArray_PData = mk (fsLit "Data.Array.Parallel.PArray.PData")
46 , dph_PArray_PDataInstances = mk (fsLit "Data.Array.Parallel.PArray.PDataInstances")
47 , dph_PArray_Types = mk (fsLit "Data.Array.Parallel.PArray.Types")
49 , dph_Repr = mk (fsLit "Data.Array.Parallel.Lifted.Repr")
50 , dph_Closure = mk (fsLit "Data.Array.Parallel.Lifted.Closure")
51 , dph_Unboxed = mk (fsLit "Data.Array.Parallel.Lifted.Unboxed")
52 , dph_Combinators = mk (fsLit "Data.Array.Parallel.Lifted.Combinators")
53 , dph_Scalar = mk (fsLit "Data.Array.Parallel.Lifted.Scalar")
55 , dph_Prelude_PArr = mk (fsLit "Data.Array.Parallel.Prelude.Base.PArr")
56 , dph_Prelude_Int = mk (fsLit "Data.Array.Parallel.Prelude.Base.Int")
57 , dph_Prelude_Word8 = mk (fsLit "Data.Array.Parallel.Prelude.Base.Word8")
58 , dph_Prelude_Double = mk (fsLit "Data.Array.Parallel.Prelude.Base.Double")
59 , dph_Prelude_Bool = mk (fsLit "Data.Array.Parallel.Prelude.Base.Bool")
60 , dph_Prelude_Tuple = mk (fsLit "Data.Array.Parallel.Prelude.Base.Tuple")
62 where mk = mkModule pkg . mkModuleNameFS
65 -- | Project out ids of modules that contain orphan instances that we need to load.
66 dph_Orphans :: [Modules -> Module]
69 , dph_PArray_PReprInstances
70 , dph_PArray_PDataInstances ]