[Haskell] ANNOUNCE: GHC version 6.12.1
dennis.walter at gmail.com
Mon Dec 14 12:25:53 EST 2009
Where has Control.Concurrent.STM gone?
I cannot find it on
I hope that is not what you meant by "Considerably improved support
for parallel execution" ;-)
On Mon, Dec 14, 2009 at 2:36 PM, Ian Lynagh <igloo at earth.li> wrote:
> The (Interactive) Glasgow Haskell Compiler -- version 6.12.1
> The GHC Team is pleased to announce a new major release of GHC. There
> have been a number of significant changes since the last major release,
> * Considerably improved support for parallel execution. GHC 6.10 would
> execute parallel Haskell programs, but performance was often not very
> good. Simon Marlow has done lots of performance tuning in 6.12,
> removing many of the accidental (and largely invisible) gotchas that
> made parallel programs run slowly.
> * As part of this parallel-performance tuning, Satnam Singh and Simon
> Marlow have developed ThreadScope, a GUI that lets you see what is
> going on inside your parallel program. It's a huge step forward from
> "It takes 4 seconds with 1 processor, and 3 seconds with 8 processors;
> now what?". ThreadScope will be released separately from GHC, but at
> more or less the same time as GHC 6.12.
> * Dynamic linking is now supported on Linux, and support for other
> platforms will follow. Thanks for this most recently go to the
> Industrial Haskell Group who pushed it into a fully-working state;
> dynamic linking is the culmination of the work of several people over
> recent years. One effect of dynamic linking is that binaries shrink
> dramatically, because the run-time system and libraries are shared.
> Perhaps more importantly, it is possible to make dynamic plugins from
> Haskell code that can be used from other applications.
> * The I/O libraries are now Unicode-aware, so your Haskell programs
> should now handle text files containing non-ascii characters, without
> special effort.
> * The package system has been made more robust, by associating each
> installed package with a unique identifier based on its exposed ABI.
> Now, cases where the user re-installs a package without recompiling
> packages that depend on it will be detected, and the packages with
> broken dependencies will be disabled. Previously, this would lead to
> obscure compilation errors, or worse, segfaulting programs.
> This change involved a lot of internal restructuring, but it paves the
> way for future improvements to the way packages are handled. For
> instance, in the future we expect to track profiled packages
> independently of non-profiled ones, and we hope to make it possible to
> upgrade a package in an ABI-compatible way, without recompiling the
> packages that depend on it. This latter facility will be especially
> important as we move towards using more shared libraries.
> * There are a variety of small language changes, including
> * Some improvements to data types: record punning, declaring
> constructors with class constraints, GADT syntax for type families
> * You can omit the "$" in a top-level Template Haskell splice, which
> makes the TH call look more like an ordinary top-level declaration
> with a new keyword.
> * We're are deprecating mdo for recursive do-notation, in favour of
> the more expressive rec statement.
> * We've concluded that the implementation of impredicative polymorphism
> is unsustainably complicated, so we are re-trenching. It'll be
> deprecated in 6.12 (but will still work), and will be either removed
> or replaced with something simpler in 6.14.
> The full release notes are here:
> How to get it
> The easy way is to go to the web page, which should be self-explanatory:
> We supply binary builds in the native package format for many
> platforms, and the source distribution is available from the same
> Packages will appear as they are built - if the package for your
> system isn't available yet, please try again later.
> Haskell is a standard lazy functional programming language; the
> current language version is Haskell 98, agreed in December 1998 and
> revised December 2002.
> GHC is a state-of-the-art programming suite for Haskell. Included is
> an optimising compiler generating good code for a variety of
> platforms, together with an interactive system for convenient, quick
> development. The distribution includes space and time profiling
> facilities, a large collection of libraries, and support for various
> language extensions, including concurrency, exceptions, and foreign
> language interfaces (C, whatever). GHC is distributed under a
> BSD-style open source license.
> A wide variety of Haskell related resources (tutorials, libraries,
> specifications, documentation, compilers, interpreters, references,
> contact information, links to research groups) are available from the
> Haskell home page (see below).
> On-line GHC-related resources
> Relevant URLs on the World-Wide Web:
> GHC home page http://www.haskell.org/ghc/
> GHC developers' home page http://hackage.haskell.org/trac/ghc/
> Haskell home page http://www.haskell.org/
> Supported Platforms
> The list of platforms we support, and the people responsible for them,
> is here:
> Ports to other platforms are possible with varying degrees of
> difficulty. The Building Guide describes how to go about porting to a
> new platform:
> We welcome new contributors. Instructions on accessing our source
> code repository, and getting started with hacking on GHC, are
> available from the GHC's developer's site run by Trac:
> Mailing lists
> We run mailing lists for GHC users and bug reports; to subscribe, use
> the web interfaces at
> There are several other haskell and ghc-related mailing lists on
> www.haskell.org; for the full list, see
> Some GHC developers hang out on #haskell on IRC, too:
> Please report bugs using our bug tracking system. Instructions on
> reporting bugs can be found here:
> Haskell mailing list
> Haskell at haskell.org
More information about the Haskell