Use OPTIONS rather than OPTIONS_GHC for pragmas
[ghc-hetmet.git] / compiler / utils / FastTypes.lhs
index 9d7c276..dc43574 100644 (file)
@@ -4,6 +4,13 @@
 \section{Fast integers and booleans}
 
 \begin{code}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/CodingStyle#Warnings
+-- for details
+
 module FastTypes (
     FastInt, _ILIT, iBox, iUnbox,
     (+#), (-#), (*#), quotFastInt, negateFastInt,
@@ -71,6 +78,7 @@ fastAnd _ _ = False
 
 --These are among the type-signatures necessary for !ghc to compile
 -- but break ghc (can't give a signature for an import...)
+--Note that the comparisons actually do return Bools not FastBools.
 (+#) :: FastInt -> FastInt -> FastInt
 (-#) :: FastInt -> FastInt -> FastInt
 (*#) :: FastInt -> FastInt -> FastInt
@@ -81,19 +89,6 @@ fastAnd _ _ = False
 (>#) :: FastInt -> FastInt -> Bool
 
 #endif /* ! __GLASGOW_HASKELL__ */
--- however it's still possible to check that these are
--- valid signatures nonetheless (e.g., ==# returns Bool
--- not FastBool/Int# !)
-_signatures =
- ( (+#) :: FastInt -> FastInt -> FastInt
- , (-#) :: FastInt -> FastInt -> FastInt
- , (*#) :: FastInt -> FastInt -> FastInt
- , (==#) :: FastInt -> FastInt -> Bool
- , (<#) :: FastInt -> FastInt -> Bool
- , (<=#) :: FastInt -> FastInt -> Bool
- , (>=#) :: FastInt -> FastInt -> Bool
- , (>#) :: FastInt -> FastInt -> Bool
- )
 
 -- type-signatures will improve the non-ghc-specific versions
 -- and keep things accurate (and ABLE to compile!)