ANNOUNCE: GHC version 7.6.1

============================================================= The (Interactive) Glasgow Haskell Compiler -- version 7.6.1 ============================================================= The GHC Team is pleased to announce a new major release of GHC, 7.6.1. Here are some of the highlights of the 7.6 branch since 7.4: * Polymorphic kinds and data promotion are now fully implemented and supported features. * Windows 64bit is now a supported platform. * It is now possible to defer type errors until runtime using the -fdefer-type-errors flag. * The RTS now supports changing the number of capabilities at runtime with Control.Concurrent.setNumCapabilities. Full release notes are here: http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-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. 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

Awesome,
I have been playing with GHC 7.6.0 until today and been very happy. Btw.
isn't this the version that officially includes "-fnew-codegen" / HOOPL?
Because the new codegen is optimizing the my ADPfusion library nicely.
I lost 50% speed with new features, gained 100% with new codegen,
meaning new features come for free ;-)
Viele Gruesse aus Copenhagen,
Christian
* Ian Lynagh
============================================================= The (Interactive) Glasgow Haskell Compiler -- version 7.6.1 =============================================================
The GHC Team is pleased to announce a new major release of GHC, 7.6.1.
Here are some of the highlights of the 7.6 branch since 7.4:
* Polymorphic kinds and data promotion are now fully implemented and supported features.
* Windows 64bit is now a supported platform.
* It is now possible to defer type errors until runtime using the -fdefer-type-errors flag.
* The RTS now supports changing the number of capabilities at runtime with Control.Concurrent.setNumCapabilities.
Full release notes are here:
http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-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.
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 Thu, Sep 06, 2012 at 06:32:38PM +0200, Christian Hoener zu Siederdissen wrote:
Awesome,
I have been playing with GHC 7.6.0 until today and been very happy. Btw. isn't this the version that officially includes "-fnew-codegen" / HOOPL?
Because the new codegen is optimizing the my ADPfusion library nicely. I lost 50% speed with new features, gained 100% with new codegen, meaning new features come for free ;-)
I suspect that you'll find that the new codegen doesn't work 100% perfectly in 7.6, although I don't know the details - perhaps it just isn't as fast as it could be. It'll be the default in 7.8, though. Thanks Ian

Hi Ian,
thanks for the info about 7.8. Just to be clear, the new codegen
apparently saved my runtimes for the presentation on tuesday. \My\ new
code was slower than my old code. The new code generator fixed that,
giving me equal running times with much cooler features. I currently
assume (without having checked at all) due to dead variable elimination.
So if it is getting better, I'd be really really happy.
Gruss,
Christian
* Ian Lynagh
On Thu, Sep 06, 2012 at 06:32:38PM +0200, Christian Hoener zu Siederdissen wrote:
Awesome,
I have been playing with GHC 7.6.0 until today and been very happy. Btw. isn't this the version that officially includes "-fnew-codegen" / HOOPL?
Because the new codegen is optimizing the my ADPfusion library nicely. I lost 50% speed with new features, gained 100% with new codegen, meaning new features come for free ;-)
I suspect that you'll find that the new codegen doesn't work 100% perfectly in 7.6, although I don't know the details - perhaps it just isn't as fast as it could be. It'll be the default in 7.8, though.
Thanks Ian
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On 06/09/2012 21:10, Christian Hoener zu Siederdissen wrote:
Hi Ian,
thanks for the info about 7.8. Just to be clear, the new codegen apparently saved my runtimes for the presentation on tuesday. \My\ new code was slower than my old code. The new code generator fixed that, giving me equal running times with much cooler features. I currently assume (without having checked at all) due to dead variable elimination.
So if it is getting better, I'd be really really happy.
Just to be clear - you're using -fnew-codegen, with GHC 7.6.1? There were a handful of bugfixes to the new codegen path that didn't make it into 7.6.1, so I wouldn't rely on it. Cheers, Simon
Gruss, Christian
* Ian Lynagh
[06.09.2012 22:00]: On Thu, Sep 06, 2012 at 06:32:38PM +0200, Christian Hoener zu Siederdissen wrote:
Awesome,
I have been playing with GHC 7.6.0 until today and been very happy. Btw. isn't this the version that officially includes "-fnew-codegen" / HOOPL?
Because the new codegen is optimizing the my ADPfusion library nicely. I lost 50% speed with new features, gained 100% with new codegen, meaning new features come for free ;-)
I suspect that you'll find that the new codegen doesn't work 100% perfectly in 7.6, although I don't know the details - perhaps it just isn't as fast as it could be. It'll be the default in 7.8, though.
Thanks Ian
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi Simon,
Yes I am using -fnew-codegen. Using a large set of random input data
I get the expected results (comparing to both, a different version in
Haskell, and one in C).
I'll be monitoring output and will report problems.
However not relying on it, except to show that high performance is
possible. All code I am using for ``production purposes'' uses GHC 7.4
due to library dependencies.
Thanks for the note!
Christian
* Simon Marlow
On 06/09/2012 21:10, Christian Hoener zu Siederdissen wrote:
Hi Ian,
thanks for the info about 7.8. Just to be clear, the new codegen apparently saved my runtimes for the presentation on tuesday. \My\ new code was slower than my old code. The new code generator fixed that, giving me equal running times with much cooler features. I currently assume (without having checked at all) due to dead variable elimination.
So if it is getting better, I'd be really really happy.
Just to be clear - you're using -fnew-codegen, with GHC 7.6.1?
There were a handful of bugfixes to the new codegen path that didn't make it into 7.6.1, so I wouldn't rely on it.
Cheers, Simon
Gruss, Christian
* Ian Lynagh
[06.09.2012 22:00]: On Thu, Sep 06, 2012 at 06:32:38PM +0200, Christian Hoener zu Siederdissen wrote:
Awesome,
I have been playing with GHC 7.6.0 until today and been very happy. Btw. isn't this the version that officially includes "-fnew-codegen" / HOOPL?
Because the new codegen is optimizing the my ADPfusion library nicely. I lost 50% speed with new features, gained 100% with new codegen, meaning new features come for free ;-)
I suspect that you'll find that the new codegen doesn't work 100% perfectly in 7.6, although I don't know the details - perhaps it just isn't as fast as it could be. It'll be the default in 7.8, though.
Thanks Ian
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Woho! I love new GHC releases.
On Thu, Sep 6, 2012 at 9:05 AM, Ian Lynagh
Full release notes are here:
http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-1.html
1. There are a bunch of TODOs in the release notes. :) 2. Could you please push all the packages that were released in GHC 7.6.1 to Hackage as well? -- Johan

Ian Lynagh
On Thu, Sep 06, 2012 at 09:42:53AM -0700, Johan Tibell wrote:
2. Could you please push all the packages that were released in GHC 7.6.1 to Hackage as well? I've now uploaded those that we maintain.
...why has bytestring-0.10.0.0 been held back? (afaics, the last couple of versions on Hackage were uploaded by you as well)

On Fri, Sep 7, 2012 at 11:05 AM, Herbert Valerio Riedel
Ian Lynagh
writes: On Thu, Sep 06, 2012 at 09:42:53AM -0700, Johan Tibell wrote:
2. Could you please push all the packages that were released in GHC 7.6.1 to Hackage as well? I've now uploaded those that we maintain.
...why has bytestring-0.10.0.0 been held back? (afaics, the last couple of versions on Hackage were uploaded by you as well)
Just a reminder that we need that bytestring version on Hackage as other compilers have no way of getting hold of it to fulfill a depedency on bytestring >= 0.10. -- Johan

On Thu, Sep 6, 2012 at 1:05 PM, Ian Lynagh
* It is now possible to defer type errors until runtime using the -fdefer-type-errors flag.
I don't remember if this was part of the motivation in creating this feature, but it has a nice use case: asserting on a test suite that something should *not* type check. Cheers, -- Felipe.

On Thu, Sep 6, 2012 at 10:33 AM, Felipe Almeida Lessa
On Thu, Sep 6, 2012 at 1:05 PM, Ian Lynagh
wrote: * It is now possible to defer type errors until runtime using the -fdefer-type-errors flag.
I don't remember if this was part of the motivation in creating this feature, but it has a nice use case: asserting on a test suite that something should *not* type check.
We're getting more meta than Haskell provides cleanly, but all significant uses I can currently think of for something like that would require universal quantification over types: Forall types t. t `notElem` someTypes --> fails (tyUnification t MyType) I'm curious what your thinking is here. Thomas

Hi,
On 6 September 2012 18:49, Thomas DuBuisson
I don't remember if this was part of the motivation in creating this feature, but it has a nice use case: asserting on a test suite that something should *not* type check.
We're getting more meta than Haskell provides cleanly, but all significant uses I can currently think of for something like that would require universal quantification over types:
One way could be: import Control.Spoon f = 1 + 'a' test = assertTrue (teaspoon f == Nothing) -- Ozgur Akgun

On Thu, Sep 6, 2012 at 2:49 PM, Thomas DuBuisson
We're getting more meta than Haskell provides cleanly, but all significant uses I can currently think of for something like that would require universal quantification over types:
Forall types t. t `notElem` someTypes --> fails (tyUnification t MyType)
I'm curious what your thinking is here.
I'm developing a EDSL for SQL queries that I'll properly announce tomorrow. The idea I have in mind is that this code should not typecheck: delete $ from $ \table -> set table [] You should not SET something inside a DELETE statement. However, currently that will typecheck---not because I don't know how to fix it, but because the types were already messy enough and I didn't ponder about the tradeoffs. So I would like to put the above snippet on a test suite that says "this should not typecheck". It will serve both as a reminder to fix it someday and as a regression test. Of course, I could stick each of these on a separate file and try to compile it, but that would be a PITA to setup. Is this a crazy idea? =P Cheers, =) -- Felipe.

On 6 September 2012 18:05, Ian Lynagh
The GHC Team is pleased to announce a new major release of GHC, 7.6.1.
Great!
* It is now possible to defer type errors until runtime using the -fdefer-type-errors flag.
In section 7.13.1 it says: ...given the following code: x :: Int x = 0 y :: Char y = x z :: Int z = y evaluating x will result in a runtime type error. Shouldn't this be: evaluating z will result in a runtime type error. Cheers, Bas

On 7 September 2012 01:05, Ian Lynagh
The GHC Team is pleased to announce a new major release of GHC, 7.6.1.
Thanks! I have done a full test build for Fedora 18 Development on x86_64 which you can install from my new testing repo: http://repos.fedorapeople.org/repos/petersen/ghc/ It seems to work fine on fedora 17 too for me. Official Fedora builds probably won't appear in Rawhide until a draft/testing Haskell Platform is ready, maybe next month? (The bootstrap build used to build it, also includes 32bit and can be downloaded from: http://kojipkgs.fedoraproject.org/scratch/petersen/task_4462240) A bootstrap build [2] for Fedora ARM using llvm-3.1 is available and can be downloaded from http://arm.koji.fedoraproject.org/scratch/petersen/task_1123704/ (Note that ghc-7.4.1 at least does not build with ghc-patched llvm-3.1.) (The Koji scratch builds should remain available for 2 weeks from building.)
http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-1.html
It would be nice if the TODO placeholders for library version changes could be filled in and a note added about the removal of extensible-exceptions. Thank you! Jens [1] http://koji.fedoraproject.org/koji/taskinfo?taskID=4462240 [2] http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1123704

Thanks! I have done a full test build for Fedora 18 Development on x86_64 which you can install from my new testing repo:
http://repos.fedorapeople.org/repos/petersen/ghc/
It seems to work fine on Fedora 17 too for me.
There is now a working cabal-install-0.15.1 build there too (patching the source in ghc-7.6.1). Jens

============================================================= The (Interactive) Glasgow Haskell Compiler -- version 7.6.1 =============================================================
GHC 7.6.1 is available now on all platforms (el5, el6, fc16, fc17) at http://justhub.org/download. Chris
participants (12)
-
Bas van Dijk
-
Chris Dornan
-
Christian Hoener zu Siederdissen
-
Christian Höner zu Siederdissen
-
Felipe Almeida Lessa
-
Herbert Valerio Riedel
-
Ian Lynagh
-
Jens Petersen
-
Johan Tibell
-
Ozgur Akgun
-
Simon Marlow
-
Thomas DuBuisson