Changelog for base
package
-
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 thePolyKinds
extension enabled, meaning that instances ofCategory
no longer need be of kind* -> * -> *
. -
There are now
Foldable
andTraversable
instances forEither a
,Const r
, and(,) a
. -
There is now a
Monoid
instance forConst
. -
There is now a
Data
instance forData.Version
. -
A new
Data.Bits.FiniteBits
class has been added to represent types with fixed bit-count. The existingBits
class is extended with abitSizeMaybe
method to replace the now obsoletebitsize
method. -
Data.Bits.Bits
gained a newzeroBits
method which completes theBits
API with a direct way to introduce a value with all bits cleared. -
There are now
Bits
andFiniteBits
instances forBool
. -
There are now
Eq
,Ord
,Show
andRead
instances forZipList
. -
There are now
Eq
,Ord
,Show
andRead
instances forDown
. -
There are now
Eq
,Ord
,Show
,Read
andGeneric
instances for types in GHC.Generics (U1
,Par1
,Rec1
,K1
,M1
,(:+:)
,(:*:)
,(:.:)
). -
There are now
Functor
instances forSystem.Console.GetOpt
'sArgOrder
,OptDescr
, andArgDescr
. -
A zero-width unboxed poly-kinded
Proxy#
was added toGHC.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. -
Control.Concurrent.MVar
has a new implementation ofreadMVar
, which fixes a long-standing bug wherereadMVar
is only atomic if there are no other threads runningputMVar
.readMVar
now is atomic, and is guaranteed to return the value from the firstputMVar
. There is also a newtryReadMVar
which is a non-blocking version. -
New
Control.Concurrent.MVar.withMVarMasked
which executesIO
action with asynchronous exceptions masked in the same style as the existingmodifyMVarMasked
andmodifyMVarMasked_
. -
New
threadWait{Read,Write}STM :: Fd -> IO (STM (), IO ())
functions added toControl.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 inData.Word
, which use optimized machine instructions when available. -
Data.Bool
now exportsbool :: a -> a -> Bool -> a
, analogously tomaybe
andeither
in their respective modules. -
Data.Either
now exportsisLeft, isRight :: Either a b -> Bool
. -
Debug.Trace
now exportstraceId
,traceShowId
,traceM
, andtraceShowM
. -
Data.Functor
now exports($>)
andvoid
. -
Rewrote portions of
Text.Printf
, and made changes toNumeric
(addedNumeric.showFFloatAlt
andNumeric.showGFloatAlt
) andGHC.Float
(addedformatRealFloatAlt
) to support it. The rewritten version is extensible to user types, adds a "generic" format specifier "%v
", extends theprintf
spec to support much of C'sprintf(3)
functionality, and fixes the spurious warnings about usingText.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 aMonad
to anApplicative
, has now aMonad m => Monad (WrappedMonad m)
instance. -
Handle
ExitFailure (-sig)
on Unix by killing process with signalsig
. -
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(->)
andRealWorld
. -
Declare CPP head
<Typeable.h>
officially obsolete as GHC 7.8+ does not support hand-writtenTypeable
instances anymore. -
Remove (unmaintained) Hugs98 and NHC98 specific code.
-
Optimize
System.Timeout.timeout
for the threaded RTS. -
Remove deprecated functions
unsafeInterleaveST
,unsafeIOToST
, andunsafeSTToIO
fromControl.Monad.ST
. -
Add a new superclass
SomeAsyncException
for all asynchronous exceptions and makes the existingAsyncException
andTimeout
exception children ofSomeAsyncException
in the hierarchy. -
Remove deprecated functions
blocked
,unblock
, andblock
fromControl.Exception
. -
Remove deprecated function
forkIOUnmasked
fromControl.Concurrent
. -
Remove deprecated function
unsafePerformIO
export fromForeign
(still available viaSystem.IO.Unsafe.unsafePerformIO
). -
Various fixes and other improvements (see Git history for full details).