>> About this teste code:
>>
>> module Main (main) where {
>> import Foreign hiding (unsafePerformIO,Foreign.Ptr,Data.Bits,) ;
>> blo = xor 10 10 :: Int ;
>> main = return ()
>> }
>>

> You're only hiding the typeclass Data.Bits, not
> the function xor. To do that, you have to write
>
> import Foreign hiding (unsafePerformIO,Data.Bits(..))
>
>
> Generally, I'd use (...)
> import qualified Foo as F
> and don't ever have to worry about name clashes.

Agree. I'm asking this because I'm wrting my
syntax reference. Is that a GHC extension? Look at
this (from haskell 98 report sections 5.2 and
5.3):

export   -> qvar
         | qtycon [(..) | ( cname1 , ... , cnamen )]
         | qtycls [(..) | ( var1 , ... , varn )]
         | module modid

import   -> var
         | tycon [ (..) | ( cname1 , ... , cnamen )]
         | tycls [(..) | ( var1 , ... , varn )]

It seems 'modid's are included when exporting
names, but not when importing.

Maurício

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to