Hello,
There is a problem concerning the interface file generation.
Suppose we have a project of many .hs files, they describe exports,
imports, and so on. In principle, the compiler has to understand what
does this mean "compile everything" and generate .hi files.
Has it?
Though, in practice, we define the compilation order manually.
Further, we usually cannot compile the project in one path, because of
the cyclic import dependencies between the modules.
Thus, in my case, the project P was compiled with ghc-2.08.
Now, port it to ghc-2.10:
install ghc-2.10, remove .o files from the project P and run
`make all'.
It breaks finding wrong interfaces.
OK, probably, this is because the .hi files are implementation-depen-
dent in their nature.
So, we remove the .hi files too.
Now, as the module imports contain the cyclic dependencies, we have to
*intrude into .hs files* :
comment out some parts in Module1, Module2, compile them, un-comment
some items in Module1, re-compile, and so on.
Is there any easier way?
How to explain to the user of the project P (P distributed with its
sources) the process of porting P from the given ghc version to the
next one?
For the source program P is one and the same, the new ghc version is
declared to be compatible with the previous one, and still there are
obstacles.
The only way I see now is to provide the .hi file archives for several
ghc-versions.
Who could advise?
------------------
Sergey Mechveliani
[EMAIL PROTECTED]