Changelog for base-4.8.0.0
Changelog for base package
4.8.0.0 Mar 2015
-
Bundled with GHC 7.10.1
-
Make
Applicativea superclass ofMonad -
Add reverse application operator
Data.Function.(&) -
Add
Data.List.sortOnsorting function -
Add
System.Exit.die -
Deprecate
versionTagsfield ofData.Version.Version. AddmakeVersion :: [Int] -> Versionconstructor function to aid migration to a futureversionTags-lessVersion. -
Add
IsList Versioninstance -
Weaken RealFloat constraints on some
Data.Complexfunctions -
Add
Control.Monad.(<$!>)as a strict version of(<$>) -
The
Data.Monoidmodule now has thePolyKindsextension enabled, so that theMonoidinstance forProxyare polykinded likeProxyitself is. -
Make
absandsignumhandle (-0.0) correctly per IEEE-754. -
Re-export
Data.Word.WordfromPrelude -
Add
countLeadingZerosandcountTrailingZerosmethods toData.Bits.FiniteBitsclass -
Add
Data.List.unconslist destructor (#9550) -
Export
Monoid(..)fromPrelude -
Export
Foldable(..)fromPrelude(hidingfold,foldl',foldr', andtoList) -
Export
Traversable(..)fromPrelude -
Set fixity for
Data.Foldable.{elem,notElem}to match the conventional one set forData.List.{elem,notElem}(#9610) -
Turn
toList,elem,sum,product,maximum, andminimumintoFoldablemethods (#9621) -
Replace the
Data.List-exported functionsall, and, any, concat, concatMap, elem, find, product, sum, mapAccumL, mapAccumRby re-exports of their generalised
Data.Foldable/Data.Traversablecounterparts. In other words, unqualified imports ofData.ListandData.Foldable/Data.Traversableno longer lead to conflicting definitions. (#9586) -
New (unofficial) module
GHC.OldListcontaining only list-specialised versions of the functions fromData.List(in other words,GHC.OldListcorresponds tobase-4.7.0.2'sData.List) -
Replace the
Control.Monad-exported functionssequence_, msum, mapM_, forM_, forM, mapM, sequenceby re-exports of their generalised
Data.Foldable/Data.Traversablecounterparts. In other words, unqualified imports ofControl.MonadandData.Foldable/Data.Traversableno longer lead to conflicting definitions. (#9586) -
Generalise
Control.Monad.{when,unless,guard}fromMonadtoApplicativeand fromMonadPlustoAlternativerespectively. -
Generalise
Control.Monad.{foldM,foldM_}toFoldable -
scanr,mapAccumLandfilterMnow take part in list fusion (#9355, #9502, #9546) -
Remove deprecated
Data.OldTypeable(#9639) -
New module
Data.Bifunctorproviding theBifunctor(bimap,first,second)class (previously defined inbifunctorspackage) (#9682) -
New module
Data.Voidproviding the canonical uninhabited typeVoid(previously defined invoidpackage) (#9814) -
Update Unicode class definitions to Unicode version 7.0
-
Add
Alt, anAlternativewrapper, toData.Monoid. (#9759) -
Add
isSubsequenceOftoData.List(#9767) -
The arguments to
==andeqinData.List.nubandData.List.nubByare swapped, such thatData.List.nubBy (<) [1,2]now returns[1]instead of[1,2](#2528, #3280, #7913) -
New module
Data.Functor.Identity(previously provided bytransformerspackage). (#9664) -
Add
scanl', a strictly accumulating version ofscanl, toData.ListandData.OldList. (#9368) -
Add
fillBytestoForeign.Marshal.Utils. -
Add new
displayExceptionmethod toExceptiontypeclass. (#9822) -
Add
Data.Bits.toIntegralSized, a size-checked version offromIntegral. (#9816) -
New module
Numeric.Naturalproviding newNaturaltype representing non-negative arbitrary-precision integers. TheGHC.Naturalmodule exposes additional GHC-specific primitives. (#9818) -
Add
(Storable a, Integeral a) => Storable (Ratio a)instance (#9826) -
Add
Storable a => Storable (Complex a)instance (#9826) -
New module
GHC.RTS.Flagsthat provides accessors to runtime flags. -
Expose functions for per-thread allocation counters and limits in
GHC.ConcdisableAllocationLimit :: IO () enableAllocationLimit :: IO () getAllocationCounter :: IO Int64 setAllocationCounter :: Int64 -> IO ()together with a new exception
AllocationLimitExceeded. -
Make
read . show = idforData.Fixed(#9240) -
Add
callocandcallocBytestoForeign.Marshal.Alloc. (#9859) -
Add
callocArrayandcallocArray0toForeign.Marshal.Array. (#9859) -
Restore invariant in
Data (Ratio a)instance (#10011) -
Add/expose
rnfTypeRep,rnfTyCon,typeRepFingerprint, andtyConFingerprinthelpers toData.Typeable. -
Define proper
MINIMALpragma forclass Ix. (#10142)
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 Apr 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 are now
Show,Read,Eq,Ord,Monoid,Generic, andGeneric1instances 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).