Cleanup dph-base
authorBen Lippmeier <benl@ouroborus.net>
Thu, 11 Aug 2011 05:43:30 +0000 (15:43 +1000)
committerBen Lippmeier <benl@ouroborus.net>
Thu, 11 Aug 2011 05:43:30 +0000 (15:43 +1000)
dph-base/Data/Array/Parallel/Base.hs
dph-base/Data/Array/Parallel/Base/Config.hs
dph-base/Data/Array/Parallel/Base/DTrace.hs
dph-base/Data/Array/Parallel/Base/Debug.hs
dph-base/Data/Array/Parallel/Base/Text.hs
dph-base/Data/Array/Parallel/Base/TracePrim.hs
dph-base/Data/Array/Parallel/Base/Util.hs
dph-base/Data/Array/Parallel/Stream.hs
dph-base/LICENSE
dph-base/dph-base.cabal

index 73468dc..2c1377f 100644 (file)
@@ -1,17 +1,4 @@
------------------------------------------------------------------------------
--- |
--- Module      : Data.Array.Parallel.Base
--- Copyright   : (c) [2006,2007]        Roman Leshchinsskiy
--- License     : see libraries/ndp/LICENSE
--- 
--- Maintainer  : Roman Leshchinskiy <rl@cse.unsw.edu.au>
--- Stability   : internal
--- Portability : non-portable (unboxed values and GHC libraries)
---
---
--- Basic functionality, imported by most modules.
---
-
+-- | Basic functionality, imported by most modules.
 module Data.Array.Parallel.Base (
   -- * Debugging infrastructure
   module Data.Array.Parallel.Base.Debug,
@@ -29,12 +16,10 @@ module Data.Array.Parallel.Base (
   -- * ST monad re-exported from GHC
   ST(..), runST
 ) where
-
 import Data.Array.Parallel.Base.Debug
 import Data.Array.Parallel.Base.Util
 import Data.Array.Parallel.Base.Text
 import Data.Array.Parallel.Base.DTrace
 import Data.Array.Parallel.Base.TracePrim
-
 import GHC.ST (ST(..), runST)
 
index 0f9b9ba..2a099df 100644 (file)
@@ -1,4 +1,5 @@
--- This should be generated by the make system
+-- | Top level hard-wired configuration flags.
+--   TODO: This should be generated by the make system
 module Data.Array.Parallel.Base.Config (
     debug
   , debugCritical
index d1b5f78..aec93a6 100644 (file)
@@ -17,7 +17,7 @@ import Foreign.C.String
 #endif
 
 import GHC.ST ( ST )
-import GHC.IOBase ( unsafeIOToST )
+import GHC.IO ( unsafeIOToST )
 
 import Debug.Trace ( trace )
 
index 3f960d4..3bbb9ff 100644 (file)
@@ -1,17 +1,4 @@
------------------------------------------------------------------------------
--- |
--- Module      : Data.Array.Parallel.Stream
--- Copyright   : (c) [2001..2002] Manuel M T Chakravarty & Gabriele Keller
---               (c) [2006..2007] Roman Leshchinskiy
--- License     : see libraries/ndp/LICENSE
--- 
--- Maintainer  : Roman Leshchinskiy <rl@cse.unsw.edu.au>
--- Stability   : internal
--- Portability : portable
---
---
--- Debugging infrastructure for the parallel arrays library
-
+-- | Debugging infrastructure for the parallel arrays library.
 module Data.Array.Parallel.Base.Debug (
     check
   , checkCritical
@@ -20,7 +7,6 @@ module Data.Array.Parallel.Base.Debug (
   , checkNotEmpty
   , uninitialised
 ) where
-
 import Data.Array.Parallel.Base.Config  (debug, debugCritical)
 
 outOfBounds :: String -> Int -> Int -> a
index 2bf4192..388a8ee 100644 (file)
@@ -1,21 +1,8 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Data.Array.Parallel.Base.Text
--- Copyright   :  (c) 2006 Roman Leshchinskiy
--- License     :  see libraries/ndp/LICENSE
--- 
--- Maintainer  :  Roman Leshchinskiy <rl@cse.unsw.edu.au>
--- Stability   :  experimental
--- Portability :  portable
---
--- Utilities for defining Read\/Show instances.
---
-
+-- | Utilities for defining Read\/Show instances.
 module Data.Array.Parallel.Base.Text (
   showsApp, readApp, readsApp,
   Read(..)
 ) where
-
 import Text.Read
 
 showsApp :: Show a => Int -> String -> a -> ShowS
index 162f4ef..533fbcf 100644 (file)
@@ -1,4 +1,3 @@
-
 -- | When `tracePrimEnabled` in "Data.Array.Parallel.Config" is @True@, DPH programs will print
 --   out what array primitives they're using at runtime. See `tracePrim` for details.
 module Data.Array.Parallel.Base.TracePrim
index b72c28c..53701b7 100644 (file)
@@ -1,32 +1,37 @@
+
+-- | Constructor tags.
 module Data.Array.Parallel.Base.Util (
   Tag, fromBool, toBool, tagToInt, intToTag
 ) where
-
 import Data.Word ( Word8 )
 
+
 -- | Given a value of an algebraic type, the tag tells us what
 --   data constructor was used to create it.
 type Tag = Int
 
+
 -- | Get the `Tag` of a `Bool` value. `False` is 0, `True` is 1.
+{-# INLINE fromBool #-}
 fromBool :: Bool -> Tag
 fromBool False = 0
 fromBool True  = 1
-{-# INLINE fromBool #-}
+
 
 -- | Convert a `Tag` to a `Bool` value.
+{-# INLINE toBool #-}
 toBool :: Tag -> Bool
 toBool n | n == 0    = False
          | otherwise = True
-{-# INLINE toBool #-}
+
 
 -- | Convert a `Tag` to an `Int`. This is identity at the value level.
+{-# INLINE tagToInt #-}
 tagToInt :: Tag -> Int
 tagToInt = id
-{-# INLINE tagToInt #-}
 
 -- | Convert an `Int` to a `Tag`. This is identity at the value level.
+{-# INLINE intToTag #-}
 intToTag :: Int -> Tag
 intToTag = id
-{-# INLINE intToTag #-}
 
index 93d667d..aa57ebc 100644 (file)
@@ -1,32 +1,4 @@
------------------------------------------------------------------------------
--- |
--- Module      : Data.Array.Parallel.Stream
--- Copyright   : (c) 2010        Roman Leshchinskiy
--- License     : see libraries/ndp/LICENSE
--- 
--- Maintainer  : Roman Leshchinskiy <rl@cse.unsw.edu.au>
--- Stability   : internal
--- Portability : non-portable (existentials)
---
--- Stream functions not implemented in vector
---
--- TODO: The use of INLINE pragmas in some of these function isn't consistent.
---       for indexedS and combine2ByTagS, there is an INLINE_INNER on the 'next'
---       function, but replicateEachS uses a plain INLINE and fold1SS uses
---       a hard INLINE [0]. Can we make a rule that all top-level stream functions
---       in this module have INLINE_STREAM, and all 'next' functions have
---       INLINE_INNER? If not we should document the reasons for the special cases.
---
---
--- Note: [NEVER ENTERED]
--- ~~~~~~~~~~~~~~~~~~~~~
---  Cases marked NEVER ENTERED should be unreachable, assuming there are no 
---  bugs elsewhere in the library. We used to throw an error when these
---  branches were entered, but this was confusing the simplifier. It would be 
---  better if we could put the errors back, but we'll need to check that 
---  performance does not regress when we do so.
---
-
+-- | Stream functions not implemented in @Data.Vector@
 #include "fusion-phases.h"
 
 module Data.Array.Parallel.Stream (
@@ -41,13 +13,28 @@ module Data.Array.Parallel.Stream (
   foldValuesR,
   indicesSS
 ) where
-
 import Data.Array.Parallel.Base ( Tag )
-
 import qualified Data.Vector.Fusion.Stream as S
 import Data.Vector.Fusion.Stream.Monadic ( Stream(..), Step(..) )
 import Data.Vector.Fusion.Stream.Size    ( Size(..) )
 
+-- TODO: The use of INLINE pragmas in some of these function isn't consistent.
+--       for indexedS and combine2ByTagS, there is an INLINE_INNER on the 'next'
+--       function, but replicateEachS uses a plain INLINE and fold1SS uses
+--       a hard INLINE [0]. Can we make a rule that all top-level stream functions
+--       in this module have INLINE_STREAM, and all 'next' functions have
+--       INLINE_INNER? If not we should document the reasons for the special cases.
+--
+--
+-- Note: [NEVER ENTERED]
+-- ~~~~~~~~~~~~~~~~~~~~~
+--  Cases marked NEVER ENTERED should be unreachable, assuming there are no 
+--  bugs elsewhere in the library. We used to throw an error when these
+--  branches were entered, but this was confusing the simplifier. It would be 
+--  better if we could put the errors back, but we'll need to check that 
+--  performance does not regress when we do so.
+--
+
 -- | Tag each element of an stream with its index in that stream.
 --
 -- @
index 5187a3c..235f8f1 100644 (file)
@@ -1,7 +1,13 @@
-Copyright (c) 2001-2002, Manuel M T Chakravarty & Gabriele Keller
-Copyright (c) 2006-2007, Manuel M T Chakravarty & Roman Leshchinskiy
+Copyright (c) 2001-2011, The DPH Team
 All rights reserved.
 
+The DPH Team is:
+  Manuel M T Chakravarty
+  Gabriele Keller
+  Roman Leshchinskiy
+  Ben Lippmeier
+  George Roldugin
+
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 
index f6ab92a..c46ce2a 100644 (file)
@@ -1,14 +1,14 @@
 Name:           dph-base
-Version:        0.5
+Version:        0.5.1.1
 License:        BSD3
 License-File:   LICENSE
-Author:         Manuel M T Chakravarty, Gabriele Keller, Roman Leshchinskiy
-Maintainer:     Roman Leshchinskiy <rl@cse.unsw.edu.au>
-Homepage:       http://www.cse.unsw.edu.au/~chak/project/dph/
+Author:         The DPH Team
+Maintainer:     Ben Lippmeier <benl@cse.unsw.edu.au>
+Homepage:       http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell
 Category:       Data Structures
-Synopsis:       Basic Definitions for Data-Parallel Haskell.
+Synopsis:       Common utilities and config for Data Parallel Haskell
 
-Cabal-Version:  >= 1.2.3
+Cabal-Version:  >= 1.6
 Build-Type:     Simple
 
 Flag DTrace
@@ -36,20 +36,16 @@ Library
 
   Exposed: True
 
-  if flag(DTrace)
-    CPP-Options: -DDPH_ENABLE_DTRACE
-    Extra-Libraries: dph-trace
-    Extra-Lib-Dirs: /Users/rl/projects/ndp/ghc-inline/libraries/dph/dtrace
+  Extensions: 
+         TypeFamilies, GADTs, RankNTypes,
+         BangPatterns, MagicHash, UnboxedTuples, TypeOperators, CPP
 
-  Extensions: TypeFamilies, GADTs, RankNTypes,
-              BangPatterns, MagicHash, UnboxedTuples, TypeOperators, CPP
-  GHC-Options: -funbox-strict-fields -fcpr-off
-  if impl(ghc >= 6.9)
-    GHC-Options: -Odph
-  else
-    GHC-Options: -O2 -fdicts-cheap -fno-method-sharing
-
-  Build-Depends:  base >= 3 && < 5, array, random, vector >= 0.7 && < 0.8
-  if impl(ghc >= 6.9)
-    Build-Depends: ghc-prim
+  GHC-Options: -Odph -funbox-strict-fields -fcpr-off 
 
+  Build-Depends:  
+        base     == 4.4.*,
+        ghc-prim == 0.2.*,
+        array    == 0.3.*,
+        random   == 1.0.*,
+        vector   == 0.7.*
+          
\ No newline at end of file