
Hello, I've written a haskell program which is not behaving quite as I'd expect. Up till now, I've used Debug.Trace to understand it, but this has become a major pain, and I was hoping to use hat. When I run hat-make on the code, I get thousands of warnings followed by the following errors: ./Hat/EHM2Alt.hs:316:32: Not in scope: `Hat.Ix.grange' ./Hat/EHM2Alt.hs:331:29: Not in scope: `Hat.Ix.gindex' ./Hat/EHM2Alt.hs:342:29: Not in scope: `Hat.Ix.ginRange' Is this enough of a clue to track down what is happening? I'm not sure what other information would be relevant. I'm using GHC on Windows. One of my modules imports Ix, and several of them import Array. Any help would be greatly appreciated. Thanks. Tom.

Hi again. With some help, I've found a work-around, and made some progress identifying the problem. My module EHM2Alt.hs imported Array, which exports Ix, but does not explicitly import Ix itself. EHM2Alt uses functions (like range) from Ix. The Hat.Array module exports Hat.Ix, but without an 'as' clause, so the function Hat.Ix.grange is only seen in Hat.EHM2Alt as Hat.Array.grange, thus the error. The work-around is for my module to import Ix directly. Is this a bug in hat? Thanks, Tom. At 22:20 23/10/2006, I wrote:
Hello, I've written a haskell program which is not behaving quite as I'd expect. Up till now, I've used Debug.Trace to understand it, but this has become a major pain, and I was hoping to use hat.
When I run hat-make on the code, I get thousands of warnings followed by the following errors:
./Hat/EHM2Alt.hs:316:32: Not in scope: `Hat.Ix.grange'
./Hat/EHM2Alt.hs:331:29: Not in scope: `Hat.Ix.gindex'
./Hat/EHM2Alt.hs:342:29: Not in scope: `Hat.Ix.ginRange'
Is this enough of a clue to track down what is happening? I'm not sure what other information would be relevant. I'm using GHC on Windows. One of my modules imports Ix, and several of them import Array.
Any help would be greatly appreciated. Thanks.
Tom.
_______________________________________________ Hat mailing list Hat@haskell.org http://www.haskell.org/mailman/listinfo/hat

Tom Cooper
With some help, I've found a work-around, and made some progress identifying the problem. My module EHM2Alt.hs imported Array, which exports Ix, but does not explicitly import Ix itself. EHM2Alt uses functions (like range) from Ix. The Hat.Array module exports Hat.Ix, but without an 'as' clause, so the function Hat.Ix.grange is only seen in Hat.EHM2Alt as Hat.Array.grange, thus the error. The work-around is for my module to import Ix directly. Is this a bug in hat?
Yes, it could well be a bug in Hat. I will need to study the language definition carefully to be sure. Regards, Malcolm
participants (2)
-
Malcolm Wallace
-
Tom Cooper