We are pleased to announce the release of GHC 7.4.1!
The highlights, since the 7.0 branch, are:
The Num class no longer has Eq or Show superclasses. A number of other classes and functions have therefore gained explicit Eq or Show constraints, rather than relying on a Num constraint to provide them.
You can make code that works with both Haskell98/Haskell2010 and GHC by:
Whenever you make a Num instance of a type, also make Show and Eq instances, and
Whenever you give a function, instance or class a Num t constraint, also give it Show t and Eq t constraints.
There is a new feature Safe Haskell (-XSafe, -XTrustworthy, -XUnsafe): Section 7.23, “Safe Haskell”. The design has changed since 7.2.
There is a new feature kind polymorphism (-XPolyKinds): Section 7.8.1, “Kind polymorphism”. A side-effect of this is that, when the extension is not enabled, in certain circumstances kinds are now defaulted to * rather than being inferred.
There is a new feature constraint kinds (-XConstraintKinds): Section 7.10, “The Constraint kind”.
It is now possible to give any sort of declaration at the ghci prompt: Section 2.4.4, “Type, class and other declarations”.
The profiling and hpc implementations have been merged and overhauled. Visible changes include renaming of profiling flags and the cost-centre stacks have a new semantics, which should in most cases result in more useful and intuitive profiles. The +RTS -xc flag now also gives a stack trace.
It is now possible to write compiler plugins: Section 9.3, “Compiler Plugins”.
DPH support has been significantly improved.
There is now preliminary support for registerised compilation on the ARM platform, using LLVM.
(Yes, the link below says "7.2.2" due to an error, but it really is the 7.4.1 link.)