More documentation: how to create a Haskell project

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

More documentation: how to create a Haskell project

Donald Bruce Stewart
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
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: More documentation: how to create a Haskell project

Tony Morris

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
> [hidden email]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re[2]: More documentation: how to create a Haskell project

Bulat Ziganshin-2
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:[hidden email]

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: More documentation: how to create a Haskell project

Ketil Malde-3
In reply to this post by Donald Bruce Stewart
[hidden email] (Donald Bruce Stewart) writes:

> But we could do with more information on:
   [...]

How to make cabal projects into distribution-specific (.deb, .rpm, and
so on) packages?

-k
--
If I haven't seen further, it is by standing in the footprints of giants

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: More documentation: how to create a Haskell project

Antti-Juhani Kaijanaho-3
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
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: More documentation: how to create a Haskell project

Andrea Rossato
In reply to this post by Ketil Malde-3
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
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: More documentation: how to create a Haskell project

David House
In reply to this post by Tony Morris
On 30/10/06, Tony Morris <[hidden email]> 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.

--
-David House, [hidden email]
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: More documentation: how to create a Haskell project

Henning Thielemann

On Mon, 30 Oct 2006, David House wrote:

> On 30/10/06, Tony Morris <[hidden email]> 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.
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe