@@ -257,11 +257,11 @@ qhash :: Int -> String -> Int
257257qhash hash [] = abs hash `mod` 0xffffffff
258258qhash hash (x:xs) = qhash (hash * 33 + fromIntegral (fromEnum x)) xs
259259
260−hashTerm :: Term -> Int
261−hashTerm t = qhash 5381 (show t)
260+hashTerm :: Int -> Term -> Int
261+hashTerm i t = qhash (i * 5381) (show t)
262262
263−hashName :: Name -> Int
264−hashName n = qhash 5381 (show n)
263+hashName :: Int -> Name -> Int
264+hashName i n = qhash (i * 5381) (show n)
265265
266266calculateHash :: IState -> IBCFile -> Int
267267calculateHash ist f
@@ -269,7 +269,8 @@ calculateHash ist f
269269 mkHashFrom (map fst acc) (getDefs acc)
270270 where
271271 mkHashFrom :: [Name] -> [Term] -> Int
272− mkHashFrom ns tms = sum (map hashName ns) + sum (map hashTerm tms)
272+ mkHashFrom ns tms = sum (L.zipWith hashName [1..] ns) +
273+ sum (L.zipWith hashTerm [1..] tms)
273274
274275 exported (_, Public) = True
275276 exported (_, Frozen) = True