ANNOUNCE: GHC version 6.12.1
============================================================== 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, including: * 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 etc. * 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: http://haskell.org/ghc/docs/6.12.1/html/users_guide/release-6-12-1.html How to get it ~~~~~~~~~~~~~ The easy way is to go to the web page, which should be self-explanatory: http://www.haskell.org/ghc/ We supply binary builds in the native package format for many platforms, and the source distribution is available from the same place. Packages will appear as they are built - if the package for your system isn't available yet, please try again later. Background ~~~~~~~~~~ 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: http://hackage.haskell.org/trac/ghc/wiki/Contributors Ports to other platforms are possible with varying degrees of difficulty. The Building Guide describes how to go about porting to a new platform: http://hackage.haskell.org/trac/ghc/wiki/Building Developers ~~~~~~~~~~ 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: http://hackage.haskell.org/trac/ghc/ Mailing lists ~~~~~~~~~~~~~ We run mailing lists for GHC users and bug reports; to subscribe, use the web interfaces at http://www.haskell.org/mailman/listinfo/glasgow-haskell-users http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs There are several other haskell and ghc-related mailing lists on www.haskell.org; for the full list, see http://www.haskell.org/mailman/listinfo/ Some GHC developers hang out on #haskell on IRC, too: http://www.haskell.org/haskellwiki/IRC_channel Please report bugs using our bug tracking system. Instructions on reporting bugs can be found here: http://www.haskell.org/ghc/reportabug
There's a broken link to the Haskell Platform in: http://haskell.org/ghc/docs/6.12.1/html/users_guide/release-6-12-1.html#id28... Bas
On Mon, Dec 14, 2009 at 03:24:05PM +0100, Bas van Dijk wrote:
There's a broken link to the Haskell Platform in:
http://haskell.org/ghc/docs/6.12.1/html/users_guide/release-6-12-1.html#id28...
Thanks; fixed with a redirect. Thanks Ian
Where has Control.Concurrent.STM gone? I cannot find it on http://www.haskell.org/ghc/docs/latest/html/libraries/ anymore! I hope that is not what you meant by "Considerably improved support for parallel execution" ;-) /Dennis On Mon, Dec 14, 2009 at 2:36 PM, Ian Lynagh <igloo@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, including:
* 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 etc. * 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:
http://haskell.org/ghc/docs/6.12.1/html/users_guide/release-6-12-1.html
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 place.
Packages will appear as they are built - if the package for your system isn't available yet, please try again later.
Background ~~~~~~~~~~
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:
http://hackage.haskell.org/trac/ghc/wiki/Contributors
Ports to other platforms are possible with varying degrees of difficulty. The Building Guide describes how to go about porting to a new platform:
http://hackage.haskell.org/trac/ghc/wiki/Building
Developers ~~~~~~~~~~
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:
http://hackage.haskell.org/trac/ghc/
Mailing lists ~~~~~~~~~~~~~
We run mailing lists for GHC users and bug reports; to subscribe, use the web interfaces at
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
There are several other haskell and ghc-related mailing lists on www.haskell.org; for the full list, see
http://www.haskell.org/mailman/listinfo/
Some GHC developers hang out on #haskell on IRC, too:
http://www.haskell.org/haskellwiki/IRC_channel
Please report bugs using our bug tracking system. Instructions on reporting bugs can be found here:
http://www.haskell.org/ghc/reportabug
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
On Mon, Dec 14, 2009 at 6:25 PM, Dennis Walter <dennis.walter@gmail.com> wrote:
Where has Control.Concurrent.STM gone? I cannot find it on http://www.haskell.org/ghc/docs/latest/html/libraries/ anymore!
I hope that is not what you meant by "Considerably improved support for parallel execution" ;-)
Split into an stm package, on hackage. :-) -- Svein Ove Aas
Where has Control.Concurrent.STM gone? I cannot find it on http://www.haskell.org/ghc/docs/latest/html/libraries/ anymore!
Split into an stm package, on hackage. :-)
Thanks for the info; I wonder if this is a good or a bad sign regarding STM's future within Haskell? Is it so big and self-contained to deserve its own external package, or is it so little used that it does not belong to into the "standard" libraries? Did I miss an announcement about restructuring and cleaning up the Haskell hierarchical libraries? And btw: the Links on http://www.haskell.org/haskellwiki/Software_transactional_memory referring to the API documentation are broken.
On 15/12/09 11:13, Dennis Walter wrote:
Where has Control.Concurrent.STM gone? I cannot find it on http://www.haskell.org/ghc/docs/latest/html/libraries/ anymore!
Split into an stm package, on hackage. :-)
Thanks for the info; I wonder if this is a good or a bad sign regarding STM's future within Haskell? Is it so big and self-contained to deserve its own external package, or is it so little used that it does not belong to into the "standard" libraries?
You should think of the "standard" libraries as those that come with the Haskell Platform, which includes stm. The packages that come with GHC are now the bare essentials needed to bootstrap GHC itself. We haven't changed our position on stm at all: it continues to be fully supported, and there are no plans to change that. Unfortunately the removal of stm from the set of packages that we regularly build with GHC means that it isn't getting as much testing as before, which is something we should fix. There are various plans afoot to revamp our automatic build & testing infrastructure, and testing external libraries should be a part of that. Cheers, Simon
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Dec 15, 2009, at 06:13 , Dennis Walter wrote:
Where has Control.Concurrent.STM gone? I cannot find it on http://www.haskell.org/ghc/docs/latest/html/libraries/ anymore!
Split into an stm package, on hackage. :-) Thanks for the info; I wonder if this is a good or a bad sign regarding STM's future within Haskell? Is it so big and self-contained to deserve its own external package, or is it so little used that it does not belong to into the "standard" libraries? Did I miss an announcement about restructuring and cleaning up the Haskell hierarchical libraries?
What you missed is that the GHC devs are getting out of the libraries business. The Haskell Platform replaces the GHC standard libraries. - -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) iEYEARECAAYFAksoBZkACgkQIn7hlCsL25U/gQCfdasJwPAiKz1HMGZ1T3xcAXoG c/4AoM6ZsbhpjNwpdCTkrRSmTCiaosy0 =lJ4Q -----END PGP SIGNATURE-----
participants (6)
-
Bas van Dijk -
Brandon S. Allbery KF8NH -
Dennis Walter -
Ian Lynagh -
Simon Marlow -
Svein Ove Aas