More documentation: how to create a Haskell project

There's been a bit of discussion on irc, lists and privately about about documenting publically the best practice for creating a new Haskell project -- be that a library or an application. Some advice is now available here: http://haskell.org/haskellwiki/How_to_write_a_Haskell_program Suggestions include: * use darcs * use cabal But we could do with more information on: * where to host a haskell project * integration of testsuites * anything about Hackage? * portability issues? So have a look at the page and make some suggestions, so it will be easier for newcomers in the future to create and contribute new projects, that will be readily accesible, useable and adopted by the community. -- Don

Tony Morris http://tmorris.net/ Donald Bruce Stewart wrote:
There's been a bit of discussion on irc, lists and privately about about documenting publically the best practice for creating a new Haskell project -- be that a library or an application.
Agreed.
Some advice is now available here: http://haskell.org/haskellwiki/How_to_write_a_Haskell_program
Suggestions include: * use darcs * use cabal
But we could do with more information on: * where to host a haskell project * integration of testsuites * anything about Hackage? * portability issues?
So have a look at the page and make some suggestions, so it will be easier for newcomers in the future to create and contribute new projects, that will be readily accesible, useable and adopted by the community.
My suggestion: The steps of reasoning as you start with a blank directory. For example: 1) We are about to write a package called foo using Haskell so we start with setting up a foo.cabal file (assuming you have answer "what is cabal?") and Setup.hs. 2) Then we create a "src" directory and set hs-source-dirs: src 3) Annotate our source with these comments for haddock. 4) If you want links to base libraries in your haddock output, do "such and such" (how do you do that anyway?) 5) If this and that, then so and so... ... Finally, there should be a bunch of files that represent the artifacts of following these steps from a blank directory (hnop is a bit scant).
-- Don _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hello Tony, Monday, October 30, 2006, 6:22:31 AM, you wrote:
My suggestion: The steps of reasoning as you start with a blank directory. For example:
great idea! i'm sure that such sort of manual will be very helpful for anyone starting his first haskell project -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On Mon, 30 Oct 2006, David House wrote:
On 30/10/06, Tony Morris
wrote: 4) If you want links to base libraries in your haddock output, do "such and such" (how do you do that anyway?)
I believe you need a local copy of the library sources, whose path you give to haddock with some flag.
No, haddock needs only .haddock files of the base libraries. I added some support to Cabal. It currently fails if old style file names like Data.List.html are installed, but a new haddock version links to new style Data-List.html.

Ketil Malde wrote:
How to make cabal projects into distribution-specific (.deb, .rpm, and so on) packages?
The answer for .debs is: ask a Debian developer (or a prospective developer) to package it for you. The reason is that to make a good .deb, one needs to be familiar with a lot of Debian-specific policies and technologies. If one is willing to invest the time and effort to learn this, then it makes sense for one to apply to become a Debian developer. If not, then packaging is best left for someone else. -- Antti-Juhani Kaijanaho, Debian developer

On Mon, Oct 30, 2006 at 09:54:08AM +0100, Ketil Malde wrote:
How to make cabal projects into distribution-specific (.deb, .rpm, and so on) packages?
for slackware you can have a look to this slackBuild script: http://gorgias.mine.nu/repos/slackBuild/hxt/hxt/hxt.SlackBuild regards, andrea
participants (8)
-
Andrea Rossato
-
Antti-Juhani Kaijanaho
-
Bulat Ziganshin
-
David House
-
dons@cse.unsw.edu.au
-
Henning Thielemann
-
Ketil Malde
-
Tony Morris