Turn off the gcd/lcm optimisations for Integer for now
[ghc-base.git] / GHC / Real.lhs
index 9b61445..8f39cf8 100644 (file)
@@ -440,13 +440,16 @@ lcm x y         =  abs ((x `quot` (gcd x y)) * y)
 
 {-# RULES
 "gcd/Int->Int->Int"             gcd = gcdInt
-"gcd/Integer->Integer->Integer" gcd = gcdInteger'
-"lcm/Integer->Integer->Integer" lcm = lcmInteger
  #-}
 
-gcdInteger' :: Integer -> Integer -> Integer
-gcdInteger' 0 0 = error "GHC.Real.gcdInteger': gcd 0 0 is undefined"
-gcdInteger' a b = gcdInteger a b
+-- XXX these optimisation rules are disabled for now to make it easier
+--     to experiment with other Integer implementations
+-- "gcd/Integer->Integer->Integer" gcd = gcdInteger'
+-- "lcm/Integer->Integer->Integer" lcm = lcmInteger
+--
+-- gcdInteger' :: Integer -> Integer -> Integer
+-- gcdInteger' 0 0 = error "GHC.Real.gcdInteger': gcd 0 0 is undefined"
+-- gcdInteger' a b = gcdInteger a b
 
 integralEnumFrom :: (Integral a, Bounded a) => a -> [a]
 integralEnumFrom n = map fromInteger [toInteger n .. toInteger (maxBound `asTypeOf` n)]