
In the proposal, you write: * The 3rd Party Author writes a Setup.lhs program. Setup.lhs imports elements from the Distribution module which does most of the hard work. A very common case, which should be our first priority, is a pure Haskell 98 module that needn't interface with any external systems. In this case the author only has to include the name of the program, the version, and the source files. He can then call Distribution.defaultMain to create an executable script with the proper command-line flags that knows how to interface with the Distribution.Package module. I'd prefer to have authors write data rather than a program, because programs can only be executed, but you can find other uses for data. Also programs are likely to include boilerplate that can get out of date more quickly.