The Haskell platform is the perfect place to start with Haskell--it comes with the compiler, some useful tools (like cabal, Haskell's package manager) and a core set of well-tested and well-supported libraries. If you have been considering Haskell, this is a great time to go for it!
I'm particularly excited by the updated OpenGL and GLUT bindings. Graphics is currently not Haskell's strong suit, but I think this might soon be changing. There has been plenty of work on high-level things like functional reactive programming (FRP), but this isn't all that useful without the low-level libraries for actually drawing to the screen! These updated packages should hopefully make writing graphics programs in Haskell much nicer.
To be fair, it is the world's first 3D FPS written using a functional reactive programming style. 8 years ago. By one guy who was learning Haskell. In 8 weeks.
In my opinion, Haskell Platform (HP) gets updates too slowly. I understand that the purpose is to have a coherent set of compatible packages, but in my opinion there should be a minor HP release for every ghc update in between.
The fixes and improvements in ghc range from usefull to nessecary.
It should be possible to release minor hp updates with the automated test suite.
As a HP user, the wait for ghc-7.6 to be incorporated has been too long imho.
If you are an HP user because you want stability, then the wait for ghc-7.6 was just long enough: There was a critical bug fixed in 7.6.3 which was released just in time for this HP release!
We do not release HP for every GHC update for two reasons: 1) Most GHC updates are not in the stability category that HP strives for, 2) Often new GHCs require minor updates to other packages in the HP. The revving of the whole kaboodle more than twice a year is far too much work than the small volunteer group can handle!
GHC uses a per-version package database, so that should never be possible for different GHC versions. For example, I have the 7.4 from platform installed in /usr/bin/ghc (the normal location for Platform installs on OSX) and 7.7 installed in ~/ghc.
Switching between the two versions is as easy as making sure that ~/ghc/bin is on my path before /usr/bin/ghc. All I need to do is "export PATH=~/ghc/bin:$PATH" and things work. Packages get installed in either ~/Library/Haskell/ghc-7.4.1 or ~/Library/Haskell/ghc-7.7 depending on what's in my path when I run "cabal install".
Easy workaround—use `hsenv --ghc=ghc-X.X.tar.gz --name head` to build an isolated hsenv that uses whichever version of GHC you like. You then activate it with `source .hsenv_head/bin/activate`.
The Haskell guys really, really need a coherent story for database access. Perl has this with DBI/DBD for example, Java with JDBC, .NET has one (or ten, depending how you count it), etc. Adding that to Platform is the single biggest thing they could do to drive adoption.
"The Haskell Platform is the easiest way to get started with programming Haskell. It comes with all you need to get up and running. Think of it as "Haskell: batteries included". Learn more..."
Is there something like ipython for Haskell? GHCI is fine but some subtleties are missing. Like typing a prefix and going through a subset of the command history. And also the numpy/scipy/matplotlib toolkit that come with the -pylab option would be great!
Maybe it is possible to write a haskell mode for ipython? I watched Fernando and one of the Julia guys hack up communication between ipython and a Julia interpreter in an afternoon. Depending on how ghci is implemented it might not be much harder.
It is the "batteries included" version of Haskell that comes with basically everything you need to write production ready software. There are obviously a lot of useful packages on `cabal`, but they are mostly useful so that you don't have to recreate the wheel (or want to do web-dev).
It's also meant to be used as a reference for distro package maintainers. If your code builds properly with the current platform, you can be confident it will build properly in most systems.
I would also recommand EclipseFP. It is an amazingly well working Eclipse Plugin for Haskell with incremental compiling, debugger, Smalltalk like browser, and other nice features.
I already have ghc-7.6.3 installed and up to date cabal. What do I get by installing haskell-platform that I don't have right now? AFAIU Haskell Platform is just a vetted list of packages bundled with GHC?
There's also a few other small tweeks, at least over building ghc from source. But the tweeks don't matter unless you're doing relatively unusual stuff (like trying to ffi out avx simd enabled c codes :-) ). (Which will be easier do do with any ghc in a week or so once some tool hacking I'm doing is done)
yes, in this case there is no need to do anything. The Haskell Platform is vetted packages + an easy way to get it all installed (which can be slightly tricky otherwise).
I dunno if it'll get you anything, but it eases things a lot for me running a tech team on Haskell. It's much easier to get people on board with GHC 7.6 for instance now.
Officially Arch Linux doesn't follow the platform. The Haskell platform tries to pick the most mature and well tested versions. Arch Linux, on the other hand, picks the upstream bleeding edge for all its packages, not only Haskell ones. Right now, the policy seems to pick the latest package versions needed to build the latest version of pandoc and XMonad.
This is not necessarily bad. I like to develop in Arch because it usually comes with future versions that will eventually make it into the platform (I have the GHC version in mind, mostly). However, if you want to distribute your code widely, you'd better be sure it builds properly with the current Haskell platform.
I've recently discovered livescript (livescript.net), a puckishly named coffee-script-inspired transpiler for node. Its syntax captures some of the best of Haskell, without going down the 'HaskellScript' route followed by e.g. Fay (which I find tends to trade off usability and fitness for purpose against fidelity to the original.) Livescript's answer to underscore is called 'prelude-ls' and is pretty powerful. Highly recommended for Haskell fans stuck in a sandbox.
This lets you install multiple versions, of both Platform and standalone GHC, and swap the active one with a single command. Those scripts are for a prior version, but works the same, just update the versions.
I'm particularly excited by the updated OpenGL and GLUT bindings. Graphics is currently not Haskell's strong suit, but I think this might soon be changing. There has been plenty of work on high-level things like functional reactive programming (FRP), but this isn't all that useful without the low-level libraries for actually drawing to the screen! These updated packages should hopefully make writing graphics programs in Haskell much nicer.