Thanks everyone,

Your observations have been most valuable but Mathijs' advice was excellent.

You may well want to pick a distribution that supports Haskell in choosing a 
distribution for general work but for a serious project you in effect build 
your own Haskell distribution and choose the Linux distribution that matches 
the destination ecosystem--in my case CentOS. This has nothing at all to do 
with my own preferences but the fact that CentOS is already being used in the 
target system (comprising multiple Linux systems).

Thanks again,

Chris

-----Original Message-----
From: haskell-cafe-boun...@haskell.org 
[mailto:haskell-cafe-boun...@haskell.org] On Behalf Of Mathijs Kwik
Sent: 28 March 2010 5:13 AM
To: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] Haskell-friendly Linux Distribution

As a developer in 3 languages (ruby & java professionally, haskell as
hobby) I must say I really prefer just managing this manually, separate from 
the package manager.

I'm running ubuntu LTS (8.04) on production servers.
I don't want to upgrade a server OS every 6 months, so I really like the more 
conservative LTS approach that ubuntu took.
But this would mean that an environment for a language would also be somewhat 
frozen for at least 2 years, which isn't very useful. When
10.04 gets out with ghc 6.12.1, it will still mean that's the only thing 
available until 2012, or I need to upgrade the entire OS every 6 months.

Developers prefer newer versions of ubuntu on their machines, or another distro 
(or use a mac).
To get stuff working the same on all machines, it's really just the easiest 
just to use manual installation.

I just keep stuff in /opt
/opt/ghc-6.10.4
/opt/ghc-6.12.1
/opt/java6
/opt/jruby-1.4
/opt/ruby-1.9
/opt/ruby-enterprise-1.8.6
/opt/ruby-enterprise-1.8.7

This has a lot of advantages:
- I don't have to wait for certain updated packages (for libs or compiler / 
interpreter stuff).
- I can keep multiple versions of a language around and just switch by changing 
PATH (for which I have aliases/helpers).
This opens up possibilities to keep "legacy" code running (I mean upgrading to 
ubuntu 10.04 will mean breaking any apps that aren't fully 6.12 compatible 
yet), and allows somewhat more "experimental"
projects to use latests-and-greatest (or even beta) versions of an environment.

- no problems mixing package-manager installed libs with manually installed 
stuff I saw this has improved a bit for ruby/haskell quite a bit, now allowing 
installation of manually installed libs to a user home-dir.
But I prefer not splitting my packages over multiple locations, so just keeping 
them in 1 place manually.

This means that (when building/installing stuff) I have to install some 
packages like gcc/binutils and some -dev (header) packages when I need to bind 
to native code (I can uninstall them afterwards).

For getting an environment up&running I just have some bash-scripts which 
install needed (package-manager) packages, download the sources I need and 
install stuff to /opt, and clean up afterwards.
It's easy to keep those scripts portable between 
distributions/versions/architectures.
This way, developers can run any distro they like, and I can keep using the 
more conservative LTS release on production.


For production machines (that all have same OS and architecture) I build 
everything on 1 machine and have others just sync the /opt stuff if needed.

This might not be a solution for you, it really depends on your needs, but for 
me, I found it's often useful to control the exact environment an application 
needs and it gives developers the freedom to run whatever OS they like, which 
is a huge benefit if you use contractors or if devs want to work from home.




On Sun, Mar 28, 2010 at 5:11 AM, Chris Dornan <ch...@chrisdornan.com> wrote:
> Hi,
>
>
>
> I am choosing a Linux distribution for a production Haskell project 
> and would would normally just go with Debian (pedigree, stability, and 
> of course Haskell Platfom included) but CentOS is in the frame.
>
>
>
> Are there any particularly strong reasons for preferring or avoiding 
> any particular distribution?
>
>
>
> Chris
>
>
>
> -------------------------------
>
> Chris Dornan
>
> email : ch...@chrisdornan.com
>
> tel   : +1 (847) 691 7945
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

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

Reply via email to