packages/base.git
6 years agoMerge branch 'master' of http://darcs.haskell.org//packages/base
Simon Peyton Jones [Tue, 8 Jan 2013 09:03:05 +0000 (09:03 +0000)] 
Merge branch 'master' of darcs.haskell.org//packages/base

6 years agoComment out IsEven, isEven, and friends, because the type is ambiguous
Simon Peyton Jones [Tue, 8 Jan 2013 09:02:48 +0000 (09:02 +0000)] 
Comment out IsEven, isEven, and friends, because the type is ambiguous

It will become un-ambiguous when Iavor teaches the type inference
engine to prove more things, but until then this stuff is not useful.

6 years agoRemove unused import
Simon Peyton Jones [Tue, 8 Jan 2013 09:00:06 +0000 (09:00 +0000)] 
Remove unused import

6 years agoFix Data.Fixed.Fixed's Read instance; fixes #7483
Ian Lynagh [Wed, 2 Jan 2013 23:18:18 +0000 (23:18 +0000)] 
Fix Data.Fixed.Fixed's Read instance; fixes #7483

6 years agoClarify the wording of the 'insert' haddock; fixes #7421
Ian Lynagh [Wed, 2 Jan 2013 21:42:22 +0000 (21:42 +0000)] 
Clarify the wording of the 'insert' haddock; fixes #7421

Wording suggested by Bart Massey.

6 years agoExpose Data.Fixed.Fixed's constructor
Ian Lynagh [Tue, 1 Jan 2013 15:04:47 +0000 (15:04 +0000)] 
Expose Data.Fixed.Fixed's constructor

Discussed on libraries@, and summarised in
http://www.haskell.org/pipermail/libraries/2012-December/019076.html

6 years agoBufferedIO: fix bug in writeBufNonBlocking introduced by commit 7d39e100
Joey Adams [Mon, 24 Dec 2012 17:44:22 +0000 (12:44 -0500)] 
BufferedIO: fix bug in writeBufNonBlocking introduced by commit 7d39e100

bufferAdjustL does nothing but update bufL, and set bufL = bufR = 0
when bufL == bufR.  It ignores the old bufL.

writeBufNonBlocking is currently unused.  It is only used to implement
flushWriteBuffer0, which is never called by base
(hPutBufNonBlocking uses a blocking flush).

6 years agoGHC.IO.Buffer: use memmove instead of memcpy in slideContents
Joey Adams [Mon, 24 Dec 2012 17:42:01 +0000 (12:42 -0500)] 
GHC.IO.Buffer: use memmove instead of memcpy in slideContents

6 years agoMake sum and product INLINABLE
Simon Peyton Jones [Mon, 24 Dec 2012 14:44:31 +0000 (14:44 +0000)] 
Make sum and product INLINABLE

This was causing the bad behaviour in Trac #7507,
because 'sum' wasn't getting specialised to Int64.

It also deals with Trac #4321, which had the same cause.

This has a big effect on some nofib programs too:

--------------------------------------------------------------------------------
        Program           Allocs   Runtime   Elapsed  TotalMem
------------------------------------------------------------------------
     bernouilli            -2.6%     -2.0%     -2.0%     +0.0%
           fft2           -23.8%      0.09      0.09    -16.7%
          fluid            -4.4%      0.01      0.01     +0.0%
         hidden            -3.2%     +2.1%     +1.8%     +0.0%
      integrate           -38.0%    -47.7%    -47.7%     -1.0%
           x2n1           -30.2%      0.01      0.01    -50.0%
------------------------------------------------------------------------
            Min           -38.0%    -47.7%    -47.7%    -50.0%
            Max            +0.4%    +11.2%    +11.8%     +6.9%
 Geometric Mean            -1.3%     +0.2%     +0.2%     -0.8%

6 years agoMerge branch 'master' of http://darcs.haskell.org/packages/base
Simon Peyton Jones [Mon, 24 Dec 2012 09:50:04 +0000 (09:50 +0000)] 
Merge branch 'master' of darcs.haskell.org/packages/base

6 years agoAdd functions that compare singletons for equality (with evidence)
Iavor S. Diatchki [Sat, 22 Dec 2012 23:22:43 +0000 (15:22 -0800)] 
Add functions that compare singletons for equality (with evidence)

6 years agoDefine GHC.Read.expectP and Text.Read.Lex.expect
Simon Peyton Jones [Fri, 21 Dec 2012 17:40:08 +0000 (17:40 +0000)] 
Define GHC.Read.expectP and Text.Read.Lex.expect

They are now used by TcGenDeriv

6 years agoremove unnecessary STM import
Simon Marlow [Fri, 21 Dec 2012 14:33:24 +0000 (14:33 +0000)] 
remove unnecessary STM import

6 years agoAdd fromIntegral/Word->Double and fromIntegral/Word-Float rules
Johan Tibell [Thu, 13 Dec 2012 22:49:58 +0000 (14:49 -0800)] 
Add fromIntegral/Word->Double and fromIntegral/Word-Float rules

6 years agohighestBitMask: use shiftRL instead of shiftR
Johan Tibell [Thu, 13 Dec 2012 17:00:38 +0000 (09:00 -0800)] 
highestBitMask: use shiftRL instead of shiftR

6 years agounbreak qsem001/qsemn001
Simon Marlow [Thu, 13 Dec 2012 09:18:55 +0000 (09:18 +0000)] 
unbreak qsem001/qsemn001

6 years agofix qsem001 & qsemn001
Simon Marlow [Thu, 13 Dec 2012 08:23:49 +0000 (08:23 +0000)] 
fix qsem001 & qsemn001

6 years agoGHC.Event.IntMap.highestBitMap reimplementation
Johan Tibell [Thu, 13 Dec 2012 02:07:08 +0000 (18:07 -0800)] 
GHC.Event.IntMap.highestBitMap reimplementation

Replaced the previous implementation due to licensing concerns. The new
implementation is a reimplementation by Clark Gaebel, based on the
public domain implementation at
http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2

6 years agoqsem001 and qsemn001 fail in HEAD: #7497
Ian Lynagh [Thu, 13 Dec 2012 00:15:54 +0000 (00:15 +0000)] 
qsem001 and qsemn001 fail in HEAD: #7497

6 years agogetNumCapabilities should read enabled_capabilities (#7491)
Simon Marlow [Tue, 11 Dec 2012 09:31:15 +0000 (09:31 +0000)] 
getNumCapabilities should read enabled_capabilities (#7491)

6 years agoAdd back new working QSem and QSemN implementations (#7417)
Simon Marlow [Mon, 10 Dec 2012 13:39:11 +0000 (13:39 +0000)] 
Add back new working QSem and QSemN implementations (#7417)

We decided not to break existing users without providing an easy
migration path.  For the time being I've made these implementations,
which fix the bugs in the old versions and perform reasonably well.

In due course we should move the concurrency functionality, including
these modules, out of base and into a separate package.

6 years agoMake a class for asynchronous exceptions in the exception hierarchy
Simon Marlow [Mon, 10 Dec 2012 08:35:34 +0000 (08:35 +0000)] 
Make a class for asynchronous exceptions in the exception hierarchy

Right now, we only have

data AsyncException
  = StackOverflow
  | HeapOverflow
  | ThreadKilled
  | ...

so it is not possible to add another async exception.  For instance,
the Timeout exception in System.Timeout should really be an async
exception.

This patch adds a superclass for all async exceptions:

data SomeAsyncException = forall e . Exception e => SomeAsyncException e
  deriving Typeable

and makes the existing AsyncException and Timeout children of
SomeAsyncException in the hierarchy.

6 years agoWorker/Wrapper and static argument transform for `until` so it can be inlined
Daniel Fischer [Thu, 6 Dec 2012 15:38:12 +0000 (16:38 +0100)] 
Worker/Wrapper and static argument transform for `until` so it can be inlined

With the direct top level recursion, `until` cannot be inlined by GHC, so no strictness
analysis and consequently no unboxing occurs at the call site.
With the recursion delegated to the worker with the condition and update function
static arguments, it can be inlined, and strictness analysis can happen.

6 years agoRemove trailing whitespace in GHC.Base
Daniel Fischer [Thu, 6 Dec 2012 15:37:05 +0000 (16:37 +0100)] 
Remove trailing whitespace in GHC.Base

6 years agofix #7479: ArrowChoice unit law in doc comment
Ross Paterson [Tue, 4 Dec 2012 19:32:40 +0000 (19:32 +0000)] 
fix #7479: ArrowChoice unit law in doc comment

6 years agoFix warnings
Ian Lynagh [Sun, 2 Dec 2012 14:15:58 +0000 (14:15 +0000)] 
Fix warnings

6 years agoAdded the unregistration command to the return value of threadWait*STM functions.
Andreas Voellmy [Wed, 17 Oct 2012 15:02:12 +0000 (11:02 -0400)] 
Added the unregistration command to the return value of threadWait*STM functions.

This allows the calling thread to unregister interest in the file, e.g. in the case
of an exception in the thread.

6 years agoAdded threadWait functions to wait on FD readiness with STM actions.
Andreas Voellmy [Wed, 29 Aug 2012 03:44:30 +0000 (23:44 -0400)] 
Added threadWait functions to wait on FD readiness with STM actions.

6 years agoAdd newFilePath to System.Posix.Internals
Ian Lynagh [Sat, 1 Dec 2012 22:28:50 +0000 (22:28 +0000)] 
Add newFilePath to System.Posix.Internals

Needed for #7342

6 years agoBump version number following new policy
Ian Lynagh [Fri, 30 Nov 2012 16:40:38 +0000 (16:40 +0000)] 
Bump version number following new policy

We now keep the HEAD version numbers as values which would be suitable
for immediate release.

6 years agoAdd comment to .cabal file saying what GHC 7.6.1 shipped with
Ian Lynagh [Fri, 30 Nov 2012 15:59:45 +0000 (15:59 +0000)] 
Add comment to .cabal file saying what GHC 7.6.1 shipped with

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base
Ian Lynagh [Fri, 30 Nov 2012 14:05:10 +0000 (14:05 +0000)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base

6 years agotypo
Gabor Greif [Fri, 30 Nov 2012 13:36:37 +0000 (14:36 +0100)] 
typo

6 years agoAdd dataCast* definitions to Ptr/Array Data instances; fixes #7256
Ian Lynagh [Fri, 30 Nov 2012 13:18:41 +0000 (13:18 +0000)] 
Add dataCast* definitions to Ptr/Array Data instances; fixes #7256

Patch from dreixel.

6 years agoUpdate haddock now that we can derive Generic1 (FIX #7444)
Jose Pedro Magalhaes [Fri, 23 Nov 2012 17:45:01 +0000 (17:45 +0000)] 
Update haddock now that we can derive Generic1 (FIX #7444)

6 years agotypo
Gabor Greif [Wed, 21 Nov 2012 17:31:07 +0000 (18:31 +0100)] 
typo

6 years agoAdd module header with some external links
Jose Pedro Magalhaes [Tue, 20 Nov 2012 14:20:17 +0000 (14:20 +0000)] 
Add module header with some external links

6 years agoGHC.Windows: more error support (guards, system error strings)
Joey Adams [Tue, 13 Nov 2012 02:48:08 +0000 (21:48 -0500)] 
GHC.Windows: more error support (guards, system error strings)

This changes the output of throwGetLastError to include the system error
message, rather than the message of our fictitious errno.

It also adds several definitions to GHC.Windows, mostly from the Win32 package.
The exceptions are:

 * getErrorMessage: returns a String, unlike in System.Win32.Types,
   where it returns an LPWSTR.

 * errCodeToIOError: new

 * c_maperrno_func: new

6 years agoUpdate a H98 reference to H2010
Ian Lynagh [Sat, 17 Nov 2012 22:01:32 +0000 (22:01 +0000)] 
Update a H98 reference to H2010

6 years agoRemove an out-of-date comment
Ian Lynagh [Sat, 17 Nov 2012 21:46:30 +0000 (21:46 +0000)] 
Remove an out-of-date comment

6 years agoUpdate some H98 references to refer to H2010
Ian Lynagh [Sat, 17 Nov 2012 21:46:03 +0000 (21:46 +0000)] 
Update some H98 references to refer to H2010

6 years agoImprove a comment
Ian Lynagh [Sat, 17 Nov 2012 20:54:51 +0000 (20:54 +0000)] 
Improve a comment

6 years agoChange a commonet not to refer to the Haskell 2010 report in particular
Ian Lynagh [Sat, 17 Nov 2012 20:11:26 +0000 (20:11 +0000)] 
Change a commonet not to refer to the Haskell 2010 report in particular

6 years agoFix a typo
Ian Lynagh [Sat, 17 Nov 2012 20:09:52 +0000 (20:09 +0000)] 
Fix a typo

6 years agoImprove the Prelude doc header; part of #7108
Ian Lynagh [Sat, 17 Nov 2012 20:02:37 +0000 (20:02 +0000)] 
Improve the Prelude doc header; part of #7108

It no longer refers to a particular version of the language standard.

It now includes a note about how it is implicitly imported, and
it looks like the other documentation from the language report
is already included in the haddock docs.

6 years agoMove lazy from GHC.Base to GHC.Magic
Ian Lynagh [Tue, 13 Nov 2012 20:47:48 +0000 (20:47 +0000)] 
Move lazy from GHC.Base to GHC.Magic

6 years agoDeclare a family for subtraction.
Iavor S. Diatchki [Mon, 12 Nov 2012 02:23:47 +0000 (18:23 -0800)] 
Declare a family for subtraction.

6 years agoUse nicer type variables in foldlM's type sig
Ian Lynagh [Sat, 10 Nov 2012 14:17:11 +0000 (14:17 +0000)] 
Use nicer type variables in foldlM's type sig

6 years agoFix Haddock formatting in Control.Exception
Iustin Pop [Tue, 6 Nov 2012 20:52:09 +0000 (21:52 +0100)] 
Fix Haddock formatting in Control.Exception

This fixes Haddock formatting in the second list in the section
"Interruptible operations": haddock lists items should be separated by
blank lines.

Signed-off-by: Iustin Pop <iusty@k1024.org>
6 years agoMerge branch 'master' of http://darcs.haskell.org//packages/base
Simon Peyton Jones [Wed, 31 Oct 2012 09:20:45 +0000 (09:20 +0000)] 
Merge branch 'master' of darcs.haskell.org//packages/base

6 years agoReplace Rank2Types with RankNTypes
Simon Peyton Jones [Wed, 31 Oct 2012 09:20:10 +0000 (09:20 +0000)] 
Replace Rank2Types with RankNTypes

6 years agoadd Traversable laws
Ross Paterson [Tue, 30 Oct 2012 01:22:17 +0000 (01:22 +0000)] 
add Traversable laws

6 years agoRemove GHC.Read.readp
Ian Lynagh [Sat, 27 Oct 2012 18:31:40 +0000 (19:31 +0100)] 
Remove GHC.Read.readp

It was marked with "XXX Can this be removed?", so let's remove it and
see if anything breaks.

6 years agoMore type signature improvements from Bas van Dijk
Ian Lynagh [Sat, 27 Oct 2012 18:30:29 +0000 (19:30 +0100)] 
More type signature improvements from Bas van Dijk

No changes, just using nicer type variable names

6 years agoRemove commented types in module export lists
Ian Lynagh [Sat, 27 Oct 2012 18:13:27 +0000 (19:13 +0100)] 
Remove commented types in module export lists

These comments are rather less useful now that haddock can give docs
with the same informatino in the module synopsis.

Having to maintain them when making changes to the library is a pain,
and when people forget about doing so there is nothing that checks that
the comments are right, so mistakes tend to linger.

Of the comments that my script detected, 78 of 684 were already
incorrect in one way or another, e.g. missing context:
    Text.Show.showsPrec
    Comment type: Int -> a -> ShowS
    Actual type:  Show a => Int -> a -> ShowS
wrong context:
    Numeric.readInt
    Comment type: Integral a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a
    Actual type:  Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a
not following a class change (e.g. Num losing its Eq superclass):
    Text.Read.Lex.readOctP
    Comment type: Num a => ReadP a
    Actual type:  (Eq a, Num a) => ReadP a
not following the Exceptions change:
    GHC.Conc.childHandler
    Comment type: Exception -> IO ()
    Actual type:  SomeException -> IO ()
or just always been wrong:
    GHC.Stable.deRefStablePtr
    Comment type: StablePtr a -> a
    Actual type:  StablePtr a -> IO a

6 years agoalpha-rename the type signatures of foldl, foldl', and scanl to be consistent with...
Gábor Lehel [Sun, 14 Oct 2012 14:23:53 +0000 (16:23 +0200)] 
alpha-rename the type signatures of foldl, foldl', and scanl to be consistent with foldr and scanr

6 years agoHandle UTF8 correctly in GHC.Conc.labelThread; fixes #6010
Ian Lynagh [Thu, 25 Oct 2012 22:54:40 +0000 (23:54 +0100)] 
Handle UTF8 correctly in GHC.Conc.labelThread; fixes #6010

6 years agoMake sure testBit and bit get inlined; fixes #7292
Ian Lynagh [Thu, 25 Oct 2012 16:13:36 +0000 (17:13 +0100)] 
Make sure testBit and bit get inlined; fixes #7292

6 years agoFix #7233: avoid overflow in divInt64#
Simon Marlow [Wed, 24 Oct 2012 15:57:39 +0000 (16:57 +0100)] 
Fix #7233: avoid overflow in divInt64#

6 years agoErrorCall should be a newtype, and derive Eq/Ord
Simon Marlow [Wed, 18 Jul 2012 20:26:17 +0000 (21:26 +0100)] 
ErrorCall should be a newtype, and derive Eq/Ord

6 years agoremove deprecated pragmas (eliminating warnings)
Gabor Greif [Tue, 23 Oct 2012 07:55:28 +0000 (09:55 +0200)] 
remove deprecated pragmas (eliminating warnings)

6 years agomove fromRational into rationalToFloat/Double
John Lato [Mon, 8 Oct 2012 09:29:43 +0000 (17:29 +0800)] 
move fromRational into rationalToFloat/Double

6 years agoRemove out-of-date docs about Prelude.catch; fixes #7348
Ian Lynagh [Fri, 19 Oct 2012 23:21:54 +0000 (00:21 +0100)] 
Remove out-of-date docs about Prelude.catch; fixes #7348

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base
Ian Lynagh [Tue, 16 Oct 2012 13:15:07 +0000 (14:15 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base

6 years agoAdd CApiFFI to the extensions used by GHC.Event.KQueue
Ian Lynagh [Tue, 16 Oct 2012 12:34:52 +0000 (13:34 +0100)] 
Add CApiFFI to the extensions used by GHC.Event.KQueue

6 years agoUpdate library to avoid using `Any` (also, replace fun-dep with type fam.)
Iavor S. Diatchki [Tue, 16 Oct 2012 05:41:13 +0000 (22:41 -0700)] 
Update library to avoid using `Any` (also, replace fun-dep with type fam.)

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base
Ian Lynagh [Mon, 15 Oct 2012 20:52:59 +0000 (21:52 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base

6 years agoUse CAPI to make the C wrapper for kevent
Ian Lynagh [Mon, 15 Oct 2012 20:43:29 +0000 (21:43 +0100)] 
Use CAPI to make the C wrapper for kevent

6 years agoAdd Debug.Trace.traceMarker/traceMarkerIO
Duncan Coutts [Mon, 15 Oct 2012 01:20:17 +0000 (02:20 +0100)] 
Add Debug.Trace.traceMarker/traceMarkerIO

Much like the traceEvent, but used for marking points in time during
execution for use in profiling tools. This uses the traceMarker# primop.
The underlying RTS code currently works for the eventlog system, but
could be extended to cover heap profiling.

6 years agoFFI wrapper for kevent()
Iku Iwasa [Sun, 16 Sep 2012 07:36:52 +0000 (16:36 +0900)] 
FFI wrapper for kevent()

6 years agoAdapt to NetBSD's struct kevent
Iku Iwasa [Sun, 16 Sep 2012 07:36:25 +0000 (16:36 +0900)] 
Adapt to NetBSD's struct kevent

6 years agoFIX #7263: derive Eq, Show, and Read for GHC.Generics representation types
Jose Pedro Magalhaes [Wed, 3 Oct 2012 08:35:02 +0000 (09:35 +0100)] 
FIX #7263: derive Eq, Show, and Read for GHC.Generics representation types

6 years agoMerge remote-tracking branch 'origin/master'
Iavor S. Diatchki [Sat, 29 Sep 2012 21:52:54 +0000 (14:52 -0700)] 
Merge remote-tracking branch 'origin/master'

6 years agoAdd unary natural numbers to experiment on matching with literals.
Iavor S. Diatchki [Sat, 29 Sep 2012 21:52:35 +0000 (14:52 -0700)] 
Add unary natural numbers to experiment on matching with literals.

The idea is that when we want to match on type level nats, we should
use `Nat1`, and use the `FromNat1` function to switch between the
structured and unstructured representation of numbers.

A bit of custom machinery is needed for this to work properly,
because to go back (i.e., to solve FromNat1 x ~ 3) GHC needs to know
that FromNat1 is an injective function.

6 years agoDeprecate bitSize
Ian Lynagh [Sun, 23 Sep 2012 20:45:52 +0000 (21:45 +0100)] 
Deprecate bitSize

6 years agoAdd bitSizeMaybe to Bits, and add FiniteBits class
Ian Lynagh [Sun, 23 Sep 2012 12:28:44 +0000 (13:28 +0100)] 
Add bitSizeMaybe to Bits, and add FiniteBits class

6 years agoAdd a big warning to the documentation for Weak (#7250)
Simon Marlow [Fri, 21 Sep 2012 15:11:20 +0000 (16:11 +0100)] 
Add a big warning to the documentation for Weak (#7250)

6 years agoFollow module removal in hDuplicateTo001 test
Ian Lynagh [Thu, 20 Sep 2012 22:11:31 +0000 (23:11 +0100)] 
Follow module removal in hDuplicateTo001 test

6 years agoRemove GHC.Handle
Ian Lynagh [Thu, 20 Sep 2012 17:56:42 +0000 (18:56 +0100)] 
Remove GHC.Handle

It's been deprecated since at least GHC 6.12

6 years agoRemove GHC.IOBase
Ian Lynagh [Thu, 20 Sep 2012 17:53:52 +0000 (18:53 +0100)] 
Remove GHC.IOBase

It's been deprecated since at least GHC 6.12

6 years agoRemove deprecated functions from Data.Data
Ian Lynagh [Thu, 20 Sep 2012 16:11:46 +0000 (17:11 +0100)] 
Remove deprecated functions from Data.Data

They've been deprecated since at least GHC 6.12

6 years agoFix build; GHC.Constants is now empty
Ian Lynagh [Mon, 17 Sep 2012 18:17:48 +0000 (19:17 +0100)] 
Fix build; GHC.Constants is now empty

We should put things back in it somehow, but for now this keeps the
build going through.

6 years agoFix a typo; spotted by Mikolaj Konarski
Ian Lynagh [Thu, 13 Sep 2012 19:22:43 +0000 (20:22 +0100)] 
Fix a typo; spotted by Mikolaj Konarski

6 years agoAdd missing instances for (<=)
Iavor S. Diatchki [Sun, 9 Sep 2012 08:01:35 +0000 (01:01 -0700)] 
Add missing instances for (<=)

6 years agoadd eqStableName :: StableName a -> StableName b -> Bool
Simon Marlow [Tue, 28 Aug 2012 08:33:55 +0000 (09:33 +0100)] 
add eqStableName :: StableName a -> StableName b -> Bool

6 years agoadd pointers to Data.STRef and Data.Array.ST (#7182)
Simon Marlow [Fri, 24 Aug 2012 09:55:26 +0000 (10:55 +0100)] 
add pointers to Data.STRef and Data.Array.ST (#7182)

6 years agoRemove finalizers from a ForeignPtr atomically (#7170)
Simon Marlow [Tue, 21 Aug 2012 14:42:50 +0000 (15:42 +0100)] 
Remove finalizers from a ForeignPtr atomically (#7170)

6 years agoadd errorWithStackTrace
Simon Marlow [Thu, 9 Aug 2012 08:10:32 +0000 (09:10 +0100)] 
add errorWithStackTrace

-- | Like the function 'error', but appends a stack trace to the error
-- message if one is available.
errorWithStackTrace :: String -> a

6 years agoImprove definition of forever (#5205)
Paolo Capriotti [Mon, 20 Aug 2012 15:35:38 +0000 (16:35 +0100)] 
Improve definition of forever (#5205)

The previous implementation was:

    forever a = a >> forever a

which can create a space leak in some cases, even with optimizations.
The current implementation:

    forever a = let a' = a >> a' in a'

prevents repeated thunk allocations by creating a single thunk for the
final result, even without optimizations.

7 years agoMerge branch 'master' of http://darcs.haskell.org/packages/base
Simon Peyton Jones [Wed, 15 Aug 2012 13:24:52 +0000 (14:24 +0100)] 
Merge branch 'master' of darcs.haskell.org/packages/base

7 years agoFix Trac #7146, by displaying a "\n" in a multi-line string
Simon Peyton Jones [Wed, 15 Aug 2012 13:23:22 +0000 (14:23 +0100)] 
Fix Trac #7146, by displaying a "\n" in a multi-line string

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base
Ian Lynagh [Mon, 13 Aug 2012 21:52:52 +0000 (22:52 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base

7 years agoComments ony
Simon Peyton Jones [Mon, 13 Aug 2012 16:32:23 +0000 (17:32 +0100)] 
Comments ony

7 years agoFix build
Ian Lynagh [Fri, 10 Aug 2012 23:09:33 +0000 (00:09 +0100)] 
Fix build

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base
Ian Lynagh [Fri, 10 Aug 2012 21:28:42 +0000 (22:28 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//packages/base

7 years agoMake startProfTimer and stopProfTimer available via GHC.Profiling
Ian Lynagh [Fri, 10 Aug 2012 21:24:29 +0000 (22:24 +0100)] 
Make startProfTimer and stopProfTimer available via GHC.Profiling

This allows the programmer to profile only part of a program's runtime,
for example, ignoring startup and shutdown phases of programs.

7 years agoRefer and link to Haskell 2010 report in Prelude.
Paolo Capriotti [Wed, 8 Aug 2012 13:47:08 +0000 (14:47 +0100)] 
Refer and link to Haskell 2010 report in Prelude.

7 years agoUse testBitInteger; part of #3489. patch from pumpkingod@gmail.com
Ian Lynagh [Sun, 5 Aug 2012 14:54:15 +0000 (15:54 +0100)] 
Use testBitInteger; part of #3489. patch from pumpkingod@gmail.com

7 years agoDocument that a FinalizerPtr is a pointer to a ccall function (#5254)
Simon Marlow [Thu, 2 Aug 2012 10:40:17 +0000 (11:40 +0100)] 
Document that a FinalizerPtr is a pointer to a ccall function (#5254)

It can't be any other calling convention, e.g. stdcall.

7 years agoMerge inline rule warning fixes
Paolo Capriotti [Thu, 26 Jul 2012 21:05:19 +0000 (22:05 +0100)] 
Merge inline rule warning fixes