[commit: ghc] wip/nfs-locking: Revise comments (816b0ac)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 00:15:12 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/816b0acda7a57cdb3c7a88831b445bb17405975b/ghc

>---------------------------------------------------------------

commit 816b0acda7a57cdb3c7a88831b445bb17405975b
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Thu May 19 23:39:15 2016 +0100

    Revise comments


>---------------------------------------------------------------

816b0acda7a57cdb3c7a88831b445bb17405975b
 src/Oracles/ArgsHash.hs | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/src/Oracles/ArgsHash.hs b/src/Oracles/ArgsHash.hs
index c26efd4..bb597c4 100644
--- a/src/Oracles/ArgsHash.hs
+++ b/src/Oracles/ArgsHash.hs
@@ -8,26 +8,25 @@ import Settings.Args
 import Target
 
 newtype ArgsHashKey = ArgsHashKey Target
-    deriving (Show, Eq, Typeable, Binary, Hashable, NFData)
+    deriving (Binary, Eq, Hashable, NFData, Show, Typeable)
 
--- This is an action that given a full target determines the corresponding
--- argument list and computes its hash. The resulting value is tracked in a
--- Shake oracle, hence initiating rebuilts when the hash is changed (a hash
--- change indicates changes in the build system).
+-- TODO: Hash Target to improve accuracy and performance.
+-- | Given a full target this Action determines the corresponding argument list
+-- and computes its hash. The resulting value is tracked in a Shake oracle,
+-- hence initiating rebuilds when the hash changes (a hash change indicates
+-- changes in the build command for the given target).
 -- Note: we keep only the first target input for performance reasons -- to
 -- avoid storing long lists of source files passed to some builders (e.g. Ar)
--- in the Shake database. This optimisation is harmless, because argument list
--- constructors are assumed not to examine target sources, but only append them
--- to argument lists where appropriate.
--- TODO: enforce the above assumption via type trickery?
--- TODO: Hash Target to improve accuracy and performance.
+-- in the Shake database. This optimisation is normally harmless, because
+-- argument list constructors are assumed not to examine target sources, but
+-- only append them to argument lists where appropriate.
 checkArgsHash :: Target -> Action ()
 checkArgsHash target = when trackBuildSystem $ do
     let hashed = [ show . hash $ inputs target ]
     _ <- askOracle . ArgsHashKey $ target { inputs = hashed } :: Action Int
     return ()
 
--- Oracle for storing per-target argument list hashes
+-- | Oracle for storing per-target argument list hashes.
 argsHashOracle :: Rules ()
 argsHashOracle = void $
     addOracle $ \(ArgsHashKey target) -> hash <$> interpret target getArgs



More information about the ghc-commits mailing list