Hi All, There have been several requests for such a program in the past, so I figured I'd finally break down and write it.
Haskell All-In-One is a Haskell utility which will take a program implemented in multiple modules and convert it to a single module. It implements all of Haskell 98 (sorry, your -fglasgow-exts programs won't parse with the Language.Haskell.Parser parser so we can't deal with them, yet) as well as the hierarchical libraries. It can also correctly deal with literate Haskell scripts (provided you have GHCs unlit software available) and programs which need to be run through the c-pre-processor. The program, together with a bunch of documentation, is available at: http://www.isi.edu/~hdaume/HAllInOne/ There is one known bug (listed on the web page), but there are likely other unknown bugs. I would have liked to have run it on itself as a proof of concept, but unfortunatly it uses the GMap library, which require extensions and thus it cannot parse correctly. However, it's been tested against the GHC module regression suite and performs (almost) perfectly. I would appreciate bug reports, if you find any problems. On the TODO list currently are: - simplify and comment the source better - fix the known bug It requires GHC6.0 to compile "out of the box" with -fglasgow-exts and -fallow-undecidable-instances. It can compile with GHC 5.04.3, but will also need "-package haskell-src" and you will need to modify the code such that System.IO no longer imports 'bracket' and uncomment the 'cast' function in the GMap library. - Hal -- Hal Daume III | [EMAIL PROTECTED] "Arrest this man, he talks in maths." | www.isi.edu/~hdaume _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell