Best platform for development with GHC?

Which platform - Mac OS X, Linux or Win32 is best for development with GHC today? How are things with Ubuntu? It was quite a while already that I used Haskell on Linux. Today I have to code on Win32 and Mac OS X. Installing extra libraries caused most of the pains for me on Win32 - for example GTK and Gnuplot is not easy to install on Win32. Installing GTK on Max OSX is also a hard work, but no problems with Gnuplot at all. Haskell mode for Emacs works fine on Mac OS X, but only to some extent on Win32. I have not managed to start GHCi in Emacs buffer on Win32. Haskell Win32 Platform also has a weird bug of missing documentation on some widely used modules from Haskell Hierarchical Library. I understand that Linux should be a much better environment for integrating with external libraries (just because most of them were originally developed for Linux). I don't want to start religious wars, yet I wonder on what platform Haskell run-time works best and development has minimum obstacles? Thanks!

On Wed, 15 Jun 2011, Dmitri O.Kondratiev wrote:
Which platform - Mac OS X, Linux or Win32 is best for development with GHC today? How are things with Ubuntu? It was quite a while already that I used Haskell on Linux. Today I have to code on Win32 and Mac OS X. Installing extra libraries caused most of the pains for me on Win32 - for example GTK and Gnuplot is not easy to install on Win32. Installing GTK on Max OSX is also a hard work, but no problems with Gnuplot at all. Haskell mode for Emacs works fine on Mac OS X, but only to some extent on Win32. I have not managed to start GHCi in Emacs buffer on Win32.
Since I maintain the gnuplot binding for Haskell - what are the particular problems with that package on Windows?
I understand that Linux should be a much better environment for integrating with external libraries (just because most of them were originally developed for Linux).
I use GHC and GHCi on Linux/KDE. Most editors and text viewers know about Haskell and provide syntax highlighting. E.g. if I watch a Haskell module in a remote darcs repository with KDE's browser Konqueror, then the text is shown with highlighted syntax. It is very helpful, to recognize outcommented parts of code quickly. If I edit, I see immediately whether comments are closed appropriately. I once used GHCi on Windows, but I didn't like it, because the Windows command line was no fun to use.

On Wed, Jun 15, 2011 at 2:34 AM, Henning Thielemann < lemming@henning-thielemann.de> wrote:
On Wed, 15 Jun 2011, Dmitri O.Kondratiev wrote:
Which platform - Mac OS X, Linux or Win32 is best for development with GHC
today? How are things with Ubuntu? It was quite a while already that I used Haskell on Linux. Today I have to code on Win32 and Mac OS X. Installing extra libraries caused most of the pains for me on Win32 - for example GTK and Gnuplot is not easy to install on Win32. Installing GTK on Max OSX is also a hard work, but no problems with Gnuplot at all. Haskell mode for Emacs works fine on Mac OS X, but only to some extent on Win32. I have not managed to start GHCi in Emacs buffer on Win32.
Since I maintain the gnuplot binding for Haskell - what are the particular problems with that package on Windows?
As I understand for Gnuplot to work on Win32 you need to compile its C source. Compared to Linux GCC, neither Cygwin nor Mingw are fun to use on Win32.

2011/6/15 Dmitri O.Kondratiev
On Wed, Jun 15, 2011 at 2:34 AM, Henning Thielemann
wrote: On Wed, 15 Jun 2011, Dmitri O.Kondratiev wrote:
Which platform - Mac OS X, Linux or Win32 is best for development with GHC today? How are things with Ubuntu? It was quite a while already that I used Haskell on Linux. Today I have to code on Win32 and Mac OS X. Installing extra libraries caused most of the pains for me on Win32 - for example GTK and Gnuplot is not easy to install on Win32. Installing GTK on Max OSX is also a hard work, but no problems with Gnuplot at all. Haskell mode for Emacs works fine on Mac OS X, but only to some extent on Win32. I have not managed to start GHCi in Emacs buffer on Win32.
Since I maintain the gnuplot binding for Haskell - what are the particular problems with that package on Windows?
As I understand for Gnuplot to work on Win32 you need to compile its C source. Compared to Linux GCC, neither Cygwin nor Mingw are fun to use on Win32.
They have binary builds for Windows on the Gnuplot Sourceforge download page: http://sourceforge.net/projects/gnuplot/files/gnuplot/4.4.3/ The gp443win32.zip contains everything you to run Gnuplot, just add the 'binary' dir to your path. Then you can do: :m + Graphics.Gnuplot.Simple plotFunc [] (linearScale 1000 (-10,10)) sin in GHCI to test that it works. Regards, Niklas

*Ketil Malde* ketil at malde.org
I use Ubuntu. Most stuff is fairly up-to-date, but even with six-month releases, it's lagging the cutting edge, and GHC is still 6.12. Thus, I tend to install development stuff via Cabal these days, which at least partly evens out the playing ground between different distributions.
I hope latest GHC (itself + standard libraries) can always be compiled from source on Ubuntu these days?
Let me know if you would like opinions on Emacs vs vi!
I know vi, but it is just that I got used to Emacs which is my main IDE for most PL that I work with and for many years already )

"Dmitri O.Kondratiev"
Let me know if you would like opinions on Emacs vs vi!
I know vi, but it is just that I got used to Emacs which is my main IDE for most PL that I work with and for many years already )
No, no! Stop, it was just a joke, really. I regret it already. :-) -k -- If I haven't seen further, it is by standing in the footprints of giants

"Dmitri O.Kondratiev"
Which platform - Mac OS X, Linux or Win32 is best for development with GHC today?
I think most developers use Linux, which tends to ensure that more stuff will work there. Most developers will also tend to use recent versions of everything, so go with Fedora or Ubuntu or Debian testing, rather than Debian stable or RHEL. In general, Haskell seems to be quite portable (in contrast to Java, say), and difficulties seem to be mostly around stuff that requires interaction with specific C libraries.
How are things with Ubuntu?
I use Ubuntu. Most stuff is fairly up-to-date, but even with six-month releases, it's lagging the cutting edge, and GHC is still 6.12. Thus, I tend to install development stuff via Cabal these days, which at least partly evens out the playing ground between different distributions. In general, I like Ubuntu for adding a regular schedule to Debian, and making recommended choices (e.g., which SMTP server to choose?). I also like the expermients with the user interface, although I don't use them myself (xmonad is still less obstrusive and much smaller and faster :-) Downsides is the huge bug database, where bugs seldom seem to be dealt with. (Also, I'm constantly annoyed at all the nice bits that are missing from our RHEL/CentOS servers.) An alternative for me might be Debian testing.
I don't want to start religious wars,
I tried to be non-flammable. Let me know if you would like opinions on Emacs vs vi! -k -- If I haven't seen further, it is by standing in the footprints of giants

On Wed, Jun 15, 2011 at 3:02 AM, Ketil Malde
"Dmitri O.Kondratiev"
writes: Which platform - Mac OS X, Linux or Win32 is best for development with GHC today?
How are things with Ubuntu?
I use Ubuntu. Most stuff is fairly up-to-date, but even with six-month releases, it's lagging the cutting edge, and GHC is still 6.12.
Developers should be using older versions of GHC because they cannot be sure users will have an up-to-date GHC. Heck, I test my application on GHC 6.10 before I release. You find out interesting things such as the fact that even though Data.Map.foldWithKey is deprecated, the preferred function is not available in 6.10. John

"John D. Ramsdell"
Developers should be using older versions of GHC because they cannot be sure users will have an up-to-date GHC.
I wonder, how hard would it be to have, say Amazon images of various Linux distributions with ghc and cabal-install available? Currently, I have a discontious integration server that checks my stuff by pulling off hackage, but this is a bit limited, as well as a security risk. I'd consider running something off Amazon instead - perhaps it could even be automated, so that I could do 'cabal install whatever' in parallel on a slew of configurations? And, although I could probably pay for my own stuff, perhaps Amazon could contribute (som of) the CPU time? -k -- If I haven't seen further, it is by standing in the footprints of giants

Hi,
let me chime in as someone who wanted to deploy a Haskell app on a
fairly popular hosting environment (Slicehost).
The support of GHC on the Ubuntu server front is tragic - there's no
official Haskell Platform for the currently suggested server version
of Ubuntu, which is Ubuntu 10.04 LTS ("Long Term Support"). It will
still have to be supported for the next about-five years. Setting
aside arguments of whether Ubuntu is the best choice for a server, it
is fairly popular, and easy to use. You can expect any developer who
wants to jump into Haskell for e.g. web-related servers to use Ubuntu,
because it's easy. 10.04 LTS only has single GHC packages and some
other stuff, but the Platform is missing. It is impossible to compile
HP on a virtual server, and cross-compiling is beyond the casual
user's skill. The solution would be to have a PPA with binaries that
people can use - PPA usage is well documented and popular among Ubuntu
folks.
In the end this project died off because I simply could not get HP into the box.
Notice that - ironically - Ubuntu 10.10 and further versions, none of
which are Long Term Support versions, do have HP as a package.
I hope this can happen and that it can be officially backed - as
opposed to a halfway-effort which will be someone hosting a private
PPA, getting bored of it after 3 months/weeks/hours, and the whole
situation returning to an even worse state than it was before.
I hope we can get good Haskell support for the most popular server
version of one of the most popular Linux distribution, because frankly
the current options are just terrible and useless.
Cheers,
D.
On Thu, Jun 16, 2011 at 08:40, Ketil Malde
"John D. Ramsdell"
writes: Developers should be using older versions of GHC because they cannot be sure users will have an up-to-date GHC.
I wonder, how hard would it be to have, say Amazon images of various Linux distributions with ghc and cabal-install available? Currently, I have a discontious integration server that checks my stuff by pulling off hackage, but this is a bit limited, as well as a security risk. I'd consider running something off Amazon instead - perhaps it could even be automated, so that I could do 'cabal install whatever' in parallel on a slew of configurations? And, although I could probably pay for my own stuff, perhaps Amazon could contribute (som of) the CPU time?
-k -- If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Its also worth looking at Arch Linux - they have a rolling release and are therefore very up to date and have from first glance a very good haskell integration. The community is excellent as well. I switched back to debian squeeze however, because of its stability - update seldomly cause trouble. With the rolling release u need to create urself a way to roll back in case of problems. On debian I'm using cabal to get the libraries I need, without problems so far. -- View this message in context: http://haskell.1045720.n5.nabble.com/Best-platform-for-development-with-GHC-... Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

On Wed, Jun 15, 2011 at 7:49 AM, kaffeepause73
Its also worth looking at Arch Linux - they have a rolling release and are therefore very up to date and have from first glance a very good haskell integration. The community is excellent as well.
Arch Linux is my development distribution of choice. At home, I set up an Arch linux "server" running essentially nothing but VirtualBox and SSHd. I also set up a cluster of Arch Linux based virtual machines to do actual development on, administer the internal network, serve email, etc.
I switched back to debian squeeze however, because of its stability - update seldomly cause trouble. With the rolling release u need to create urself a way to roll back in case of problems. On debian I'm using cabal to get the libraries I need, without problems so far.
Exactly. And I never did find a satisfactory way to do that on my laptop. The only reason I'm using Ubuntu on this laptop is because of Arch's rolling release model. I had Arch on here, but at some point, a kernel upgrade caused a major regression. All my important data was backed up, so I nuked Arch and tried Ubuntu (with a 6+ month old kernel). It worked. I'd rather be using Arch, but this hardware imposes limitations.
participants (8)
-
Alexander Solla
-
cheater cheater
-
Dmitri O.Kondratiev
-
Henning Thielemann
-
John D. Ramsdell
-
kaffeepause73
-
Ketil Malde
-
Niklas Larsson