Hi, When I have the following program in a file test.hs: ------------------------------------ import Int z = xor (intToInt32 0xf32e) (intToInt32 0xac43) ------------------------------------ The system gives the following error message: ------------------------------------ Reading file "test.hs": Dependency analysis ERROR test.hs:5 - Undefined variable "xor" ------------------------------------ However when I directly input the expression Int> (xor (intToInt32 0xf32e) (intToInt32 0xac43)) I get the answer 24429 Since Int is imported in test.hs, and Int.hs exports Int32, shouldn't xor be visible in test.hs? Please CC to me while replying Regards Shameem.
At 15:52 +0530 2001/09/06, shameem@cse.iitb.ac.in wrote:
import Int z = xor (intToInt32 0xf32e) (intToInt32 0xac43) The system gives the following error message: ERROR test.hs:5 - Undefined variable "xor" ... However when I directly input the expression Int> (xor (intToInt32 0xf32e) (intToInt32 0xac43)) I get the answer 24429
In the latter case you are inside the module Int, and sees all it has, but the the former case you only see what the Int module exports. So if the Int module contains xor but does not export it, you would end up on the situation you describe. Hans Aberg
shameem@cse.iitb.ac.in wrote:
Hi,
When I have the following program in a file test.hs:
------------------------------------
import Int
z = xor (intToInt32 0xf32e) (intToInt32 0xac43)
------------------------------------
The system gives the following error message:
------------------------------------
Reading file "test.hs": Dependency analysis ERROR test.hs:5 - Undefined variable "xor"
------------------------------------
However when I directly input the expression
Int> (xor (intToInt32 0xf32e) (intToInt32 0xac43))
I get the answer
24429
Since Int is imported in test.hs, and Int.hs exports Int32, shouldn't xor be visible in test.hs?
No. Int.hs exports Int32, but it does not export xor. You need to import Bits, as well as Int.
participants (3)
-
Hans Aberg -
Matt Harden -
shameem@cse.iitb.ac.in