On 3/3/11 3:33 AM, Hauschild, Klaus (EXT) wrote:
Hi Haskellers,

is there a recommended structure for Haskell projects. I like the Maven way 
(http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html)
 for Java projects. How to separate productive from test code, how to separate 
source code from other resources?


My standard layout is:

    _darcs/
    LICENSE
    README
    TODO
    VERSION
    Setup.hs
    foo.cabal
    dist/
    src/
    test/

where _darcs is autogenerated by darcs, and dist is autogenerated by cabal-install. The README and TODO files are optional of course. The src and test directories contain parallel hierarchies of source code so that the src can be compiled and distributed without exposing dependencies on QuickCheck, SmallCheck, HUnit, etc.

If the project is multilanguage then I'll have ./src/hs/, ./src/c, ./src/java, etc and the ./build.xml or whatever is standard for compiling the other languages plus a Makefile to run all the various build tools. Often this means adding ./bin, ./lib, ./doc, etc as the output destinations for those other tools.

--
Live well,
~wren

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to