
dagit:
On 11/19/06, Dougal Stanton
wrote: Quoth Donald Bruce Stewart, nevermore,
P.S. It might even be useful to have a tool, haskell-project, which sets up all these files automatically.
I was wondering about that just the other day. Is there such an application to interrogate the user about particulars and then create a fully compliant *.cabal file?
I'm unaware of such a tool, but as far as UIs go, it should be fairly
Ok, done! darcs get http://www.cse.unsw.edu.au/~dons/code/mkcabal mkcabal creates a new project directory for an executable, populates with cabal files, setup.hs and a stub .hs file, based on the project name. A transcript: $ mkcabal Project name: haq Created new project directory: haq $ cd haq $ ls Haq.hs Setup.hs haq.cabal $ cat Haq.hs main :: IO () main = putStrLn "Hello, world!" $ cat Setup.hs #!/usr/bin/env runhaskell import Distribution.Simple $ cat haq.cabal Name: haq Version: 0.0 Description: Project description License: BSD3 License-file: LICENSE Author: Author Name Maintainer: user@email.address Build-Depends: base Executable: haq Main-is: Haq.hs $ c Configuring haq-0.0... ... $ b Preprocessing executables for haq-0.0... Building haq-0.0... [1 of 1] Compiling Main ( Haq.hs, /usr/obj/cabal/haq/haq-tmp/Main.o ) Linking /usr/obj/cabal/haq/haq ... And we're in business. We could be smarter and figure out more defaults, and generate some stub quickcheck and haddock details. We could also init and create the project in a darcs directory. Comments, suggestions *and patches* welcome! -- Don