packages feed

NoSlow-0.2: NoSlow/Main/Tree.hs

{-# LANGUAGE CPP #-}
module NoSlow.Main.Tree
where

import NoSlow.Main.Util

micro_tree = map (qualify "NoSlow.Micro") tree
mini_tree  = map (qualify "NoSlow.Mini")  tree

tree
  = concat [
      list_tree
    , dph_prim_tree
    , vector_tree
    , uvector_tree
    , storablevector_tree
    ]

list_tree =
  [ KModule "list"           "List" ]

dph_prim_tree = [
#ifdef USE_DPH_PRIM_SEQ
    KGroup "dph-prim" [
      KModule "seq"          "DPH.Prim.Seq"
    ]
#endif
  ]

vector_tree = [
#ifdef USE_VECTOR
    KGroup "vector" [
      KModule "Primitive"    "Vector.Primitive"
    , KModule "Storable"     "Vector.Storable"
    , KModule "Unboxed"      "Vector.Unboxed"
    , KModule "boxed"        "Vector.Boxed"
    ],

    KGroup "vector-unsafe" [
      KModule "Primitive"    "Vector.Unsafe.Primitive"
    , KModule "Storable"     "Vector.Unsafe.Storable"
    , KModule "Unboxed"      "Vector.Unsafe.Unboxed"
    , KModule "boxed"        "Vector.Unsafe.Boxed"
    ]
#endif
  ]

uvector_tree = [
#ifdef USE_UVECTOR
    KModule "uvector"        "Uvector"
#endif
  ]

storablevector_tree = [
#ifdef USE_STORABLEVECTOR
    KModule "storablevector" "StorableVector"
#endif
  ]