X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Futils%2FFastTypes.lhs;h=ab5ae460d4709c2a8303cc8c91988d97845b848b;hb=5109078b26bdbf226acdf1b0fe7c2861a7114571;hp=9d7c276c225ef9d25c5b45af8a4f335fcd1eb410;hpb=cc89fbedbf65d7bebbc790796290ed5a4590c868;p=ghc-hetmet.git diff --git a/compiler/utils/FastTypes.lhs b/compiler/utils/FastTypes.lhs index 9d7c276..ab5ae46 100644 --- a/compiler/utils/FastTypes.lhs +++ b/compiler/utils/FastTypes.lhs @@ -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/Commentary/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!)