
Krasimir Angelov
There is also an another solution which I proposed in our off-line discussions with Ross. The hook can return [(String,BuildInfo)] where the first element of the pair is the library/executable name to which to the BuildInfo is related. The drawback here is that the field exposedModules is in BuildInfo type but we would like to keep this list constant over all platforms. My solution is to make a slight refactoring. In the BuildInfo have three fields exposedModules, hiddenModules and executableModules. The former two fields are used only for libraries while the latter is used only for executables. It is a little bit strange to have fields which are used only in some cases. I propose to introduce a new type:
The refactoring you propose for buildinfo and packagedescription are probably a good thing outside the context of the hooks. I'll work on that late tonight if you can wait, if you can't wait then go ahead and do it. I have to think about the [(String, Buildinfo)] idea and the PackageDescription -> IO PackageDescription ideas. I'll let you know ASAP. peace, isaac