

The Haskell Platform 2010.1: the standard development environment for Haskell - dons
http://haskell.org/platform/

======
Zak
This is exactly the sort of thing languages that wish to become popular need.
User-friendly applies to programming environments too; batteries included
should be the result - they can always be removed later.

I'm sure someone will call that approach "bloat by default", but I think
that's a red herring. Good programmers will remove bloat where it matters, and
bad programmers will add bloat where it's harmful.

~~~
leif
I absolutely agree, but the haskell guys have not quite gotten it complete. I
envision mathematicians a-plenty installing ubuntu because it's "programmy"
and then giving up installing the haskell platform because they don't know
what compiling is or why they need all those "X-dev" packages.

I for one know a few math guys that absolutely love haskell when I show it to
them (more so when I talk about category theory and types :-), but would just
get distracted if I asked them to run console commands in order to install it,
which is a terrible shame because they totally get it on my system once
everything's installed and set up.

~~~
dons
Wait for it ... <http://packages.debian.org/sid/haskell-platform>

The single .deb install. Ubuntu will pick it up shortly.

~~~
leif
I retract my previous statement. Haskell people are wonderful creatures.

------
cageface
I realize that microbenchmarks like those posted at
<http://shootout.alioth.debian.org> don't really tell us much about a
language's performance in or suitability for larger applications, but I must
admit I'm surprised that the Haskell programs there aren't significantly
shorter than the Java versions. After all, Java is roundly criticized for its
verbosity and these kinds of problems seem to be particularly good candidates
for short, expressive functional solutions.

Are the Haskell versions written in a non-idiomatic style for performance
reasons?

~~~
briansmith
Yes. Those programs serve as a warning against what you might have to contort
your short, sweet, clear programs into in order to get good performance
without dropping down to C.

~~~
by
That is assuming you are comparing the speed against C. I rewrote one into
short, sweet style and found it was much faster than python and ruby. The only
frustration was being unable to get the code shorter than the ruby version.

Note that the benchmarks are still for 6.10.4, they might get a bit faster
when run with 6.12.

I am curious, are you speaking from some particular experience of problems
with the speed?

~~~
rdtsc
> found it was much faster than python and ruby.

But it seems that Haskell, because of static type checking and compilation
should compete against C, C++ and Java in terms of speed. Because if it is
competing against Python, I'll just always use Python when I need to get
things done.

~~~
chancho
It does compete with Java, as both are garbage collected. C, C++ and Fortran
are in their own category because they don't have to deal with the indirection
of boxed heap objects.

The mythical "sufficiently smart complier" can remove these indirections, but
no current compiler can do it perfectly, as doing so requires generative the
copious amounts of object code that C++ is so roundly criticized for
(templates). GHC is pretty good at removing these indirections. I understand
C# compilers are as well. I've not used Java much but isn't there some issue
where you can't store primitive integers in a collection because they don't
inherit from the base Object type and/or the JVM doesn't support unboxed
objects?* This is the same kind of annoyance you have to deal with in Haskell
to get fast-as-possible performance (i.e. using types which are not
polymorphism-friendly thus decreasing code reuse and increasing verbosity) so
in that way I think they are equal with regards to the performance/brevity
trade-off.

* I'm sure this has probably been fixed in some recent version of Java but it's still illustrative of why garbage collection imposes a real performance impact that C and C++ just don't have to deal with.

------
danderson42
Torrents for the platform:

OS X: [http://natulte.net/~dave/haskell-
platform-2010.1.0.0-i386.dm...](http://natulte.net/~dave/haskell-
platform-2010.1.0.0-i386.dmg.torrent)

Win32 :
[http://natulte.net/~dave/HaskellPlatform-2009.2.0.2-setup.ex...](http://natulte.net/~dave/HaskellPlatform-2009.2.0.2-setup.exe.torrent)
(this is the old Haskell Platform still, not updated yet)

Linux : [http://natulte.net/~dave/haskell-
platform-2010.1.0.0.tar.gz....](http://natulte.net/~dave/haskell-
platform-2010.1.0.0.tar.gz.torrent)

We're going to try to get those torrents up on the platform page itself as
well, but dons is in a plane for the next several hours.

------
ionfish
It would be great if they had a .torrent or some faster servers, downloads
from haskell.org always go at a snail's pace for me.

~~~
rauljara
No kidding. I'm at 5.1 kb/s. This is exactly the [legal] sort of thing that
torrents were designed for. Once my download is complete (~8 hours from now),
I'll make a torrent of it.

~~~
dons
We need bigger tubes for all this Haskell!

------
zokier
"The Windows installer currently provides the 2009.2.0.2 Haskell Platform"

Problem with the website or is Windows release lagging behind?

~~~
sigzero
It is lagging a bit behind. Patience...

------
anonymousDan
I really wish they would include gtk2hs by default, it's such a pain to get
working on windows.

~~~
dons
We're working on that. Axel Simon is cabalizing gtk2hs. Once that happens, it
could go in to the HP.

And then we'd get cool tools like ThreadScope as well:
<http://research.microsoft.com/en-us/projects/threadscope/> (which needs
gtk2hs)

Hot topic and stay tuned.

~~~
anonymousDan
Great! Thanks for that, thread scope looks interesting...

------
jamesbritt
Was the GHC 6.12.1 for Snow Leopard compiled with --enable-shared?

It seems it wasn't. I just tried to install a cabal package passing the
--enable-shared switch, and got the error

    
    
         Failed to load interface for `Prelude':
    
         Perhaps you haven't installed the "dyn" libraries for package `base'?
    

which I believe means this GHC cannot build shared objects.

Am I right about this? I hope not; the ability build shared objects is one of
the key features of 6.12.

------
swannodette
Supports Snow Leopard 64bit. Been looking forward to this.

~~~
applicative
_If I understand_ \-- note that this is the new macports version, which is ghc
6.10. Simultaneously, there is a new mac installer for the Haskell Platform
with ghc 6.12 -- it works with Snow Leopard, and is 32 bit.

[http://www.reddit.com/r/haskell/comments/bgchh/the_haskell_p...](http://www.reddit.com/r/haskell/comments/bgchh/the_haskell_platform_ghc_612_snow_leopard_64_bit/)

------
gcv
How does this install on Mac OS? Does it dump everything to /usr/local, or is
it clean and self-contained inside its .app bundle?

~~~
telemachos
I believe that everything is installed under /Library/Frameworks/GHC.framework
and then symlinked. (At least, that's what I'm seeing on my system from the
last version of the installer.)

See here for some details (may be out of date, in terms of SnowLeopard):
<http://www.haskell.org/haskellwiki/Mac_OS_X>

As that link mentions, the platform also comes with an uninstaller at
/Library/Frameworks/GHC.framework/Tools/Uninstaller.

------
olliesaunders
Ah, I see it has the new version of GHC now: 6.12.1

