
On Tue, 2008-08-05 at 22:11 +1000, Roman Leshchinskiy wrote:
On 05/08/2008, at 21:15, Duncan Coutts wrote:
It knows that .y can be pre-processed to .hs so if it finds both .hs and .y then it knows that .y is the ultimate source file and pre-processes that.
Do you think this is the wrong behaviour or are you observing different behaviour?
I think I'm observing a different behaviour. I don't think a Parser.hs left over from a previous build would have affected the build with the behaviour you describe.
I suspect it might be different behaviour between the cabal build and the makefile that the ghc build system generates. I just tried it with a simple test case and with cabal build it works how I expected. For the makefiles I defer to Ian and Simon.
Out of idle curiousity, what happens if Cabal finds both Foo.y and Foo.x? Is all this documented somewhere? I couldn't find anything in the Cabal docs but maybe I just looked in the wrong place.
That's essentially undefined. It'll depend on the order in which we check the .x and .y suffix rules. That's the kind of ambiguous case I was suggesting we should warn about. Duncan