-
Bundled with GHC 7.8.1
-
Add /Since: 4.[4567].0.0/ Haddock annotations to entities
denoting the package version, when the given entity was introduced
(or its type signature changed in a non-compatible way)
-
The Control.Category module now has the PolyKinds extension
enabled, meaning that instances of Category no longer need be of
kind * -> * -> *.
-
There are now Foldable and Traversable instances for Either a,
Const r, and (,) a.
-
There is now a Monoid, Generic, and Generic1 instance for Const.
-
There is now a Data instance for Data.Version.
-
A new Data.Bits.FiniteBits class has been added to represent
types with fixed bit-count. The existing Bits class is extended
with a bitSizeMaybe method to replace the now obsolete
bitsize method.
-
Data.Bits.Bits gained a new zeroBits method which completes the
Bits API with a direct way to introduce a value with all bits cleared.
-
There are now Bits and FiniteBits instances for Bool.
-
There are now Eq, Ord, Show, Read, Generic. and Generic1
instances for ZipList.
-
There are now Eq, Ord, Show and Read instances for Down.
-
There are now Eq, Ord, Show, Read and Generic instances
for types in GHC.Generics (U1, Par1, Rec1, K1, M1,
(:+:), (:*:), (:.:)).
-
Data.Monoid: There are now Generic instances for Dual, Endo,
All, Any, Sum, Product, First, and Last; as well as
Generic1 instances for Dual, Sum, Product, First, and Last.
-
The Data.Monoid.{Product,Sum} newtype wrappers now have Num instances.
-
There are now Functor instances for System.Console.GetOpt’s
ArgOrder, OptDescr, and ArgDescr.
-
A zero-width unboxed poly-kinded Proxy# was added to
GHC.Prim. It can be used to make it so that there is no the
operational overhead for passing around proxy arguments to model
type application.
-
New Data.Proxy module providing a concrete, poly-kinded proxy type.
-
New Data.Coerce module which exports the new Coercible class
together with the coerce primitive which provide safe coercion
(wrt role checking) between types with same representation.
-
Control.Concurrent.MVar has a new implementation of readMVar,
which fixes a long-standing bug where readMVar is only atomic if
there are no other threads running putMVar. readMVar now is
atomic, and is guaranteed to return the value from the first
putMVar. There is also a new tryReadMVar which is a
non-blocking version.
-
New Control.Concurrent.MVar.withMVarMasked which executes
IO action with asynchronous exceptions masked in the same style
as the existing modifyMVarMasked and modifyMVarMasked_.
-
New threadWait{Read,Write}STM :: Fd -> IO (STM (), IO ())
functions added to Control.Concurrent for waiting on FD
readiness with STM actions.
-
Expose Data.Fixed.Fixed’s constructor.
-
There are now byte endian-swapping primitives
byteSwap{16,32,64} available in Data.Word, which use
optimized machine instructions when available.
-
Data.Bool now exports bool :: a -> a -> Bool -> a, analogously
to maybe and either in their respective modules.
-
Data.Either now exports isLeft, isRight :: Either a b -> Bool.
-
Debug.Trace now exports traceId, traceShowId, traceM,
and traceShowM.
-
Data.Functor now exports ($>) and void.
-
Rewrote portions of Text.Printf, and made changes to Numeric
(added Numeric.showFFloatAlt and Numeric.showGFloatAlt) and
GHC.Float (added formatRealFloatAlt) to support it. The
rewritten version is extensible to user types, adds a “generic”
format specifier “%v”, extends the printf spec to support much
of C’s printf(3) functionality, and fixes the spurious warnings
about using Text.Printf.printf at (IO a) while ignoring the
return value. These changes were contributed by Bart Massey.
-
The minimal complete definitions for all type-classes with cyclic
default implementations have been explicitly annotated with the
new {-# MINIMAL #-} pragma.
-
Control.Applicative.WrappedMonad, which can be used to convert a
Monad to an Applicative, has now a
Monad m => Monad (WrappedMonad m) instance.
-
There is now a Generic and a Generic1 instance for WrappedMonad
and WrappedArrow.
-
Handle ExitFailure (-sig) on Unix by killing process with signal sig.
-
New module Data.Type.Bool providing operations on type-level booleans.
-
Expose System.Mem.performMinorGC for triggering minor GCs.
-
New System.Environment.{set,unset}Env for manipulating
environment variables.
-
Add Typeable instance for (->) and RealWorld.
-
Declare CPP header <Typeable.h> officially obsolete as GHC 7.8+
does not support hand-written Typeable instances anymore.
-
Remove (unmaintained) Hugs98 and NHC98 specific code.
-
Optimize System.Timeout.timeout for the threaded RTS.
-
Remove deprecated functions unsafeInterleaveST, unsafeIOToST,
and unsafeSTToIO from Control.Monad.ST.
-
Add a new superclass SomeAsyncException for all asynchronous exceptions
and makes the existing AsyncException and Timeout exception children
of SomeAsyncException in the hierarchy.
-
Remove deprecated functions blocked, unblock, and block from
Control.Exception.
-
Remove deprecated function forkIOUnmasked from Control.Concurrent.
-
Remove deprecated function unsafePerformIO export from Foreign
(still available via System.IO.Unsafe.unsafePerformIO).
-
Various fixes and other improvements (see Git history for full details).