Changelog for base-4.7.0.2
Changelog for base package
4.7.0.2 Dec 2014
-
Bundled with GHC 7.8.4
-
Fix performance bug in
Data.List.inits(#9345) -
Fix handling of null bytes in
Debug.Trace.trace(#9395)
4.7.0.1 Jul 2014
-
Bundled with GHC 7.8.3
-
Unhide
Foreign.ForeignPtrin Haddock (#8475) -
Fix recomputation of
TypeRepinTypeabletype-application instance (#9203) -
Fix regression in Data.Fixed Read instance (#9231)
-
Fix
fdReadyto honorFD_SETSIZE(#9168)
4.7.0.0 Mar 2014
-
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.Categorymodule now has thePolyKindsextension enabled, meaning that instances ofCategoryno longer need be of kind* -> * -> *. -
There are now
FoldableandTraversableinstances forEither a,Const r, and(,) a. -
There is now a
Monoid,Generic, andGeneric1instance forConst. -
There is now a
Datainstance forData.Version. -
A new
Data.Bits.FiniteBitsclass has been added to represent types with fixed bit-count. The existingBitsclass is extended with abitSizeMaybemethod to replace the now obsoletebitsizemethod. -
Data.Bits.Bitsgained a newzeroBitsmethod which completes theBitsAPI with a direct way to introduce a value with all bits cleared. -
There are now
BitsandFiniteBitsinstances forBool. -
There are now
Eq,Ord,Show,Read,Generic. andGeneric1instances forZipList. -
There are now
Eq,Ord,ShowandReadinstances forDown. -
There are now
Eq,Ord,Show,ReadandGenericinstances for types in GHC.Generics (U1,Par1,Rec1,K1,M1,(:+:),(:*:),(:.:)). -
Data.Monoid: There are nowGenericinstances forDual,Endo,All,Any,Sum,Product,First, andLast; as well asGeneric1instances forDual,Sum,Product,First, andLast. -
The
Data.Monoid.{Product,Sum}newtype wrappers now haveNuminstances. -
There are now
Functorinstances 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.Proxymodule providing a concrete, poly-kinded proxy type. -
New
Data.Coercemodule which exports the newCoercibleclass together with thecoerceprimitive which provide safe coercion (wrt role checking) between types with same representation. -
Control.Concurrent.MVarhas a new implementation ofreadMVar, which fixes a long-standing bug wherereadMVaris only atomic if there are no other threads runningputMVar.readMVarnow is atomic, and is guaranteed to return the value from the firstputMVar. There is also a newtryReadMVarwhich is a non-blocking version. -
New
Control.Concurrent.MVar.withMVarMaskedwhich executesIOaction with asynchronous exceptions masked in the same style as the existingmodifyMVarMaskedandmodifyMVarMasked_. -
New
threadWait{Read,Write}STM :: Fd -> IO (STM (), IO ())functions added toControl.Concurrentfor 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.Boolnow exportsbool :: a -> a -> Bool -> a, analogously tomaybeandeitherin their respective modules. -
Data.Eithernow exportsisLeft, isRight :: Either a b -> Bool. -
Debug.Tracenow exportstraceId,traceShowId,traceM, andtraceShowM. -
Data.Functornow exports($>)andvoid. -
Rewrote portions of
Text.Printf, and made changes toNumeric(addedNumeric.showFFloatAltandNumeric.showGFloatAlt) andGHC.Float(addedformatRealFloatAlt) to support it. The rewritten version is extensible to user types, adds a "generic" format specifier "%v", extends theprintfspec to support much of C'sprintf(3)functionality, and fixes the spurious warnings about usingText.Printf.printfat(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 aMonadto anApplicative, has now aMonad m => Monad (WrappedMonad m)instance. -
There is now a
Genericand aGeneric1instance forWrappedMonadandWrappedArrow. -
Handle
ExitFailure (-sig)on Unix by killing process with signalsig. -
New module
Data.Type.Boolproviding operations on type-level booleans. -
Expose
System.Mem.performMinorGCfor triggering minor GCs. -
New
System.Environment.{set,unset}Envfor manipulating environment variables. -
Add
Typeableinstance for(->)andRealWorld. -
Declare CPP header
<Typeable.h>officially obsolete as GHC 7.8+ does not support hand-writtenTypeableinstances anymore. -
Remove (unmaintained) Hugs98 and NHC98 specific code.
-
Optimize
System.Timeout.timeoutfor the threaded RTS. -
Remove deprecated functions
unsafeInterleaveST,unsafeIOToST, andunsafeSTToIOfromControl.Monad.ST. -
Add a new superclass
SomeAsyncExceptionfor all asynchronous exceptions and makes the existingAsyncExceptionandTimeoutexception children ofSomeAsyncExceptionin the hierarchy. -
Remove deprecated functions
blocked,unblock, andblockfromControl.Exception. -
Remove deprecated function
forkIOUnmaskedfromControl.Concurrent. -
Remove deprecated function
unsafePerformIOexport fromForeign(still available viaSystem.IO.Unsafe.unsafePerformIO). -
Various fixes and other improvements (see Git history for full details).