Ian

Here's some useful background info about distributions, probably well known to 
you, but mostly news to me.  Maybe some of it belongs in our distribution page?
        http://haskell.org/ghc/distribution_packages.html

Simon


-----Original Message-----
From: Russel Winder [mailto:[email protected]]
Sent: 09 May 2009 07:46
To: Simon Peyton-Jones
Cc: Simon Marlow
Subject: RE: Haskell on multicore machines

Simon,

<Sorry this has turned into a bit of an essay.>

On Fri, 2009-05-08 at 20:36 +0100, Simon Peyton-Jones wrote:
> Russel
>
> | In terms of marketing Haskell, it might be very wise to ensure Ubuntu
> | gets a really up-to-date version of Haskell on each of the half-yearly
> | releases.  This means having really up to date versions in Debian Sid
> | and making sure they taken up by Ubuntu.  A lot of people have been
> | moaning that Ubuntu is still on 6.8, but there were issues and it would
> | have been good if the Haskell team could have stepped up and helped sort
> | things out.
>
> Thanks for the info.  It's the first I've heard of problems with
> Ubuntu.  We can only help if someone asks!  So maybe you in turn could
> encourage any Ubuntu packagers you know to discuss with us if there
> are things we could do to make their life better.  There should be no
> reason that 6.10 (which has been out for a year) shouldn't be on
> Ubuntu.

Debian releases are about 18--24 months apart but most people run the
pre-release which is effectively a continuous update system.  Doing a
search of the Debian package database:

http://packages.debian.org/search?keywords=ghc&searchon=names&suite=all&section=all

shows that 6.8 is the latest stable version but that 6.10 has entered
unstable -- which should mean that it moves to testing (the current
snapshot of the next release) when all the problems are fixed.

Kari Pahula is the named packager (see, for example,
http://packages.debian.org/squeeze/ghc6) for Debian so I would advise
setting up a relationship with that person and giving them all the
support they need to ensure 6.10 enters testing.  The current reasons
for the blocks in transfer from Sid to Squeeze are at
http://packages.qa.debian.org/g/ghc6.html but I haven't checked the
details, just that Kari probably needs some help.

This will enable 6.11 to have a much smoother ride.


Ubuntu releases every 6 months having pulled in whatever it wants from
Debian.  It is generally wise to check that the next release of Ubuntu
has the version of a particular package that you want you want it to by
the time of the package freeze.  So for example:

http://packages.ubuntu.com/search?suite=all&section=all&arch=any&searchon=names&keywords=ghc6

Shows that 9.10 Karmic Koala will have 6.10 in -- this is the one from
Debian Sid repackaged for Ubuntu. It has been included from the general
sweep of Debian Sid made by Ubuntu.  The difficulty is that Ubuntu picks
up packages from unstable even if they are not permitted to enter
testing, which can sometimes be a problem.

The corollary is that getting stuff into Debian Sid in a timely fashion
is the best way of getting things into Ubuntu.


Debiand (and hence Ubuntu) have very strict policies about how to
partition big systems into many packages, so GHC6 is not a single
package but many.  ghc6* is all the commands and core stuff that cannot
be done without, whereas all the libraries will be in libghc6*.  In
particular each add-on library is a separate package.


MacPorts on Mac OS X is a continuous update system.  Currently:

|> sudo port list *ghc*
Password:
ghc                            @6.10.2         lang/ghc
ghc-devel                      @6.7            lang/ghc-devel
hs-ghc-paths                   @0.1.0.5        devel/hs-ghc-paths
|> sudo port info ghc
Password:
ghc @6.10.2 (lang, haskell)
Variants:    darwin_6, darwin_7, darwin_8_i386, darwin_8_powerpc, 
darwin_9_i386, darwin_9_powerpc

The Glasgow Haskell Compiler is a robust, fully-featured, optimising compiler 
and interactive environment for Haskell 98, GHC compiles
Haskell to either native code or C. It implements numerous experimental 
language extensions to Haskell 98, for example: concurrency, a
foreign language interface, multi-parameter type classes, scoped type 
variables, existential and universal quantification, unboxed types,
exceptions, weak pointers, and so on. GHC comes with a generational garbage 
collector, and a space and time profiler.
Homepage:    http://haskell.org/ghc

Library Dependencies: libedit, gmp, perl5.8
Platforms:            darwin
Maintainers:          [email protected]
|>


Whoever this maintainer is they seem to have a simpler time than the
Debian/Ubuntu people.  The packages takes absolutely ages to compile --
like Gentoo, MacPorts is a download source, compile and install system
-- but it seems to work fine.


As for Solaris 10, everyone I know uses Steve Christensen's
Sunfreeware.Com (http://www.sunfreeware.com/).  GHC seems to be sadly
lacking from here.  However given that the MacPort exists, it must be
feasible to get it packaged for Sunfreeware.  Just note though that they
use GCC 3!  Also I am not sure how you can bootstrap GHC as there is no
extant Solaris GHC -- perhaps there is an alternative bootstrap in the
GHC system?

GHC appears not to be packaged for OpenSolaris either:
http://pkg.opensolaris.org/release/en/search.shtml?token=ghc&action=Search 
returns no results.


The point here is that only converts or people forced to will go to the
GHC website and download a distribution.  Converts and addicts will
download source and compile, most will download a pre-prepared binary
distribution from:

http://www.haskell.org/ghc/download_ghc_6_10_2.html

which clearly shows though that there are people preparing binary
packages for Linux (32- and 64-bit), Windows, Mac OS X and Solaris --
though this mostly seems to be Christian Maender.

However, unless GHC is packaged as an integral part of the
Debian/Ubuntu, Fedora/RHEL/CentOS, SuSE, MacPorts, Fink, Solaris,
OpenSolaris packaging, most people will not see or know about GHC and so
take up will never be more than a tiny minority of the programmers of
the world.

Getting into these packaging structures to enable the packagers to have
a really easy time is far more important than having ready made binary
distributions.  Installing GHC then becomes a simple matter of click and
it happens.

(Even if it does take a long time, cf. MacPorts :-)


> I hope that parallel programming on the HEAD goes better for you.

I shall see next week.  Today we are off to a wedding.

Thanks.

--
Russel.
============================================================
Dr Russel Winder                 Partner

Concertant LLP          t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road,     f: +44 8700 516 084    voip:  
sip:[email protected]
London SW11 1EN, UK.    m: +44 7770 465 077    xmpp: [email protected]

Attachment: signature.asc
Description: signature.asc

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to