Ian Lynagh [Mon, 17 Jan 2011 18:47:15 +0000 (18:47 +0000)]
Remove extensions required for GHC < 6.10
Bas van Dijk [Sat, 27 Nov 2010 09:11:51 +0000 (09:11 +0000)]
Added a Typeable instance for SampleVar
Bas van Dijk [Wed, 1 Dec 2010 08:03:07 +0000 (08:03 +0000)]
Derived Eq instance for QSem and QSemN
Bas van Dijk [Thu, 25 Nov 2010 21:02:40 +0000 (21:02 +0000)]
Derived Eq instance for Chan
Simon Marlow [Thu, 6 Jan 2011 15:46:54 +0000 (15:46 +0000)]
fix #4876
Malcolm.Wallace@me.com [Tue, 4 Jan 2011 12:51:42 +0000 (12:51 +0000)]
Instances for ST not available in nhc98.
Ross Paterson [Mon, 3 Jan 2011 19:52:01 +0000 (19:52 +0000)]
indentation tweaks (whitespace only)
Ross Paterson [Mon, 3 Jan 2011 19:42:06 +0000 (19:42 +0000)]
indentation tweaks, re-order exports
Ross Paterson [Mon, 3 Jan 2011 18:57:22 +0000 (18:57 +0000)]
Add Applicative instances for ST monads (proposal #4455)
patch from Bas van Dijk
Simon Marlow [Tue, 21 Dec 2010 15:51:54 +0000 (15:51 +0000)]
Always use 8k buffers instead of BUFSIZ
This makes a huge difference to I/O performance for me on Windows,
where BUFSIZ is 512. It might help on Mac too.
Ian Lynagh [Sat, 18 Dec 2010 21:35:53 +0000 (21:35 +0000)]
Replace uses of the old catch function with the new one
Ian Lynagh [Mon, 13 Dec 2010 23:58:37 +0000 (23:58 +0000)]
Fix build on Windows
Ian Lynagh [Mon, 13 Dec 2010 13:24:46 +0000 (13:24 +0000)]
Fix warnings
Bryan O'Sullivan [Mon, 6 Dec 2010 00:52:22 +0000 (00:52 +0000)]
Use onException for exception cleanup, and mask async exceptions
Bryan O'Sullivan [Mon, 6 Dec 2010 00:41:24 +0000 (00:41 +0000)]
Drop closeFd from Control.Concurrent, rename to closeFdWith
Bryan O'Sullivan [Sat, 27 Nov 2010 18:18:26 +0000 (18:18 +0000)]
Fix #4533 - unregister callbacks on exception, fixing a memory leak
Our problem here was that if a thread blocked in threadWait or
threadDelay and was killed by an exception thrown from another thread,
its registration with the IO manager would not be cleared.
The fix is simply to install exception handlers that do the cleanup and
propagate the exception.
Bryan O'Sullivan [Sat, 27 Nov 2010 06:04:25 +0000 (06:04 +0000)]
Drop System.Mem.Weak's dependency on Prelude
Bryan O'Sullivan [Fri, 26 Nov 2010 23:28:10 +0000 (23:28 +0000)]
Fix #4514 - IO manager deadlock
* The public APIs for threadWaitRead and threadWaitWrite remain unchanged,
and now throw an IOError if a file descriptor is closed behind their
backs. This behaviour is documented.
* The GHC.Conc API is extended to add a closeFd function, the behaviour
of which is documented.
* Behind the scenes, we add a new evtClose event, which is used only when
one thread closes a file descriptor that other threads are blocking on.
* Both base's IO code and network use the new closeFd function.
Bryan O'Sullivan [Fri, 26 Nov 2010 23:27:56 +0000 (23:27 +0000)]
Bump the version of base
Daniel Fischer [Sun, 24 Oct 2010 19:07:07 +0000 (19:07 +0000)]
Cache for powers of 10
Add a cache for commonly needed powers of 10 to speed up floatToDigits.
Daniel Fischer [Sun, 24 Oct 2010 18:50:41 +0000 (18:50 +0000)]
Fix typo in floatToDigits
The mDn value for powers of 2 >= floatDigits x - 1 was typo'ed, leading to longer than necessary show results in a few cases (e.g. 2.0^852).
Corrected in accordance with Burger and Dybvig's paper.
Daniel Fischer [Sun, 24 Oct 2010 18:59:14 +0000 (18:59 +0000)]
Performance enchancement for floatToDigits
Use quot and quotRem instead of div and divMod for dividing positive Integers since that is a bit faster.
Daniel Fischer [Sun, 24 Oct 2010 18:29:42 +0000 (18:29 +0000)]
FIX #4383
Use a better approximation to logBase 10 2 to prevent leading zeros in floatToDigits.
Ian Lynagh [Tue, 16 Nov 2010 21:19:10 +0000 (21:19 +0000)]
Add a Read instance for Data.Fixed.Fixed
Bas van Dijk [Mon, 18 Oct 2010 21:03:17 +0000 (21:03 +0000)]
Also export lines, words, unlines and unwords from Data.String
Bas van Dijk [Mon, 18 Oct 2010 20:56:32 +0000 (20:56 +0000)]
Do not export String from Data.Char
Bas van Dijk [Mon, 18 Oct 2010 20:49:39 +0000 (20:49 +0000)]
Export String from Data.String
Simon Marlow [Wed, 1 Dec 2010 13:19:17 +0000 (13:19 +0000)]
extend the documentation about interruptible operations
Simon Marlow [Wed, 1 Dec 2010 13:08:47 +0000 (13:08 +0000)]
fix a discarded exception in hClose
Ben Lippmeier [Tue, 30 Nov 2010 08:59:31 +0000 (08:59 +0000)]
-XPArr is now -XParallelArrays
Simon Marlow [Wed, 1 Dec 2010 10:51:14 +0000 (10:51 +0000)]
check for ClosedHandle in read/write operations on DuplexHandles (#4808)
Bryan O'Sullivan [Fri, 26 Nov 2010 20:08:41 +0000 (20:08 +0000)]
Fix typo
Simon Marlow [Thu, 25 Nov 2010 12:18:31 +0000 (12:18 +0000)]
fix hTell behaviour with Unicode Handles
Simon Marlow [Thu, 25 Nov 2010 10:25:20 +0000 (10:25 +0000)]
Encode immediately in hPutStr and hPutChar
This means that decoding errors will be detected accurately, and can
be caught and handled. Overall the implementation is simpler this way
too.
It does impose a performance hit on small hPutStrs, although larger
hPutStrs seem to be unaffected. To compensate somewhat, I optimised
hPutStrLn.
Simon Marlow [Wed, 24 Nov 2010 16:42:21 +0000 (16:42 +0000)]
Don't throw an error if the output buffer had no room
This is consistent with the other codecs, and will be relied on by
some upcoming changes in the IO library.
Simon Marlow [Wed, 24 Nov 2010 16:25:30 +0000 (16:25 +0000)]
use LANGUAGE instead of OPTIONS_GHC
Simon Marlow [Mon, 8 Nov 2010 13:32:12 +0000 (13:32 +0000)]
doc fix: don't refer to unblock.
Ian Lynagh [Sat, 20 Nov 2010 19:14:32 +0000 (19:14 +0000)]
Remove unused import on Windows
Ian Lynagh [Sat, 20 Nov 2010 19:10:52 +0000 (19:10 +0000)]
Remove an unnecessary fromIntegral
Ian Lynagh [Sat, 20 Nov 2010 18:58:37 +0000 (18:58 +0000)]
Remove a redundant fromIntegral
simonpj@microsoft.com [Wed, 17 Nov 2010 10:05:10 +0000 (10:05 +0000)]
Make (^) and (^^) INLINABLE
This makes them perform well robustly
(e.g. in test perf/should_run/MethSharing)
rather than relying on a rather delicate
let-floating. See Note [Inlining (^) in Real.lhs
Ian Lynagh [Thu, 18 Nov 2010 01:16:15 +0000 (01:16 +0000)]
TAG 2010-11-18
simonpj@microsoft.com [Wed, 17 Nov 2010 22:57:16 +0000 (22:57 +0000)]
Remove redundant fromIntegral
dimitris@microsoft.com [Wed, 17 Nov 2010 18:33:51 +0000 (18:33 +0000)]
Fixing uses of fromIntegral for Windows
Bas van Dijk [Thu, 14 Oct 2010 21:27:23 +0000 (21:27 +0000)]
Catch exceptions in current thread and throw them to the forked thread in runInUnboundThread
Bas van Dijk [Thu, 14 Oct 2010 21:23:25 +0000 (21:23 +0000)]
There's no need to explicitly check for blocked status in runInUnboundThread when we have mask
Bas van Dijk [Thu, 14 Oct 2010 21:05:46 +0000 (21:05 +0000)]
Use throwIO instead of throw in runInBoundThread and runInUnboundThread
simonpj@microsoft.com [Tue, 16 Nov 2010 17:24:51 +0000 (17:24 +0000)]
Remove unnecessary fromIntegral calls
Ian Lynagh [Sat, 13 Nov 2010 12:34:30 +0000 (12:34 +0000)]
Add some comments to the generated Table.hs
Ian Lynagh [Sat, 13 Nov 2010 11:48:25 +0000 (11:48 +0000)]
System.Event.KQueue conditionally uses BangPatterns
simonpj@microsoft.com [Fri, 12 Nov 2010 17:05:43 +0000 (17:05 +0000)]
Add LANGUAGE BangPatterns to modules that use bang patterns
Johan Tibell [Wed, 3 Nov 2010 09:46:30 +0000 (09:46 +0000)]
Reimplement firstPowerOf2
Ian Lynagh [Sun, 31 Oct 2010 16:25:20 +0000 (16:25 +0000)]
Remove redundant import
Ian Lynagh [Sun, 31 Oct 2010 16:20:34 +0000 (16:20 +0000)]
Re-gen GHC/IO/Encoding/CodePage/Table.hs
Ian Lynagh [Sun, 31 Oct 2010 16:17:32 +0000 (16:17 +0000)]
Add a Makefile for MakeTable, and remove GHC.Num generated import
Ian Lynagh [Sun, 31 Oct 2010 15:49:53 +0000 (15:49 +0000)]
Fix whitespace in codepages/MakeTable.hs
simonpj@microsoft.com [Wed, 27 Oct 2010 19:39:31 +0000 (19:39 +0000)]
Add an INLINE pragma on fromInteger on Int
simonpj@microsoft.com [Wed, 27 Oct 2010 19:38:59 +0000 (19:38 +0000)]
Add an INLINE pragme for fmapDefault
Simon Marlow [Wed, 27 Oct 2010 14:43:24 +0000 (14:43 +0000)]
hGetBuf: fix a case of a short read being returned (#4427)
Bas van Dijk [Sat, 16 Oct 2010 18:53:12 +0000 (18:53 +0000)]
Refer to 'mask' instead of 'block' in documentation of Control.Exception
simonpj@microsoft.com [Mon, 25 Oct 2010 15:16:55 +0000 (15:16 +0000)]
Add showMultiLineString to GHC.Show
This is part of the fix for #4436
showMultiLineString :: String -> [String]
-- | Like 'showLitString' (expand escape characters using Haskell
-- escape conventions), but
-- * break the string into multiple lines
-- * wrap the entire thing in double quotes
-- Example: @breakMultiLineString "hello\ngoodbye\nblah"@
-- returns @["\"hello\\", "\\goodbye\\", "\\blah\"" ]@
-- where those "\\" are really just a single backslash
-- (but I'm writing them here as Haskell literals)
Malcolm.Wallace@me.com [Mon, 25 Oct 2010 10:26:44 +0000 (10:26 +0000)]
CIntPtr, CUIntPtr, CIntMax, CUIntMax are new to nhc98.
Ian Lynagh [Sat, 23 Oct 2010 15:15:10 +0000 (15:15 +0000)]
Follow GHC.Bool/GHC.Types merge
simonpj@microsoft.com [Fri, 22 Oct 2010 14:31:57 +0000 (14:31 +0000)]
Remove redundant imports, now that NoImplicitPrelude does not imply RebindableSyntax
Daniel Fischer [Tue, 19 Oct 2010 01:01:09 +0000 (01:01 +0000)]
FIX #4335
fromRational :: Rational -> Ratio a produced invalid results for fixed-width
types a. Reduce the fraction to avoid that.
Daniel Fischer [Tue, 19 Oct 2010 00:30:30 +0000 (00:30 +0000)]
FIX #4337
Special versions for the power functions with a Rational base and rewrite rules.
Simon Marlow [Thu, 21 Oct 2010 09:33:37 +0000 (09:33 +0000)]
remove trailing whitespace
Daniel Fischer [Thu, 21 Oct 2010 09:32:46 +0000 (09:32 +0000)]
FIX #4336
Avoid superfluous gcd calculation in recip for Ratio a because numerator
and denominator are known to be coprime.
Bas van Dijk [Sun, 26 Sep 2010 19:21:44 +0000 (19:21 +0000)]
Add throwSTM :: Exception e => e -> STM a
Bas van Dijk [Sun, 26 Sep 2010 19:21:06 +0000 (19:21 +0000)]
Generalize catchSTM
Daniel Fischer [Wed, 20 Oct 2010 09:11:11 +0000 (09:11 +0000)]
FIX #4334
Make selector thunks visible to GHC to fix a space leak in lines.
Daniel Fischer [Wed, 20 Oct 2010 09:10:14 +0000 (09:10 +0000)]
FIX #1434
Rewrite rules for RealFrac methods with sized Int and Word targets.
For all types whose range is contained in Int's range, there are now
rewrite rules for properFraction, truncate, floor, ceiling and round
from Double and Float, going through the specialised methods for Int.
Unfortunately, we can't have a rewrite rule for Word.
simonpj@microsoft.com [Mon, 18 Oct 2010 13:58:57 +0000 (13:58 +0000)]
Define SpecConstrAnnotation in GHC.Exts, and import it from there
Reason: avoid having to link the entire ghc package in modules
that use compile-time annotations:
import GHC.Exts( SpecConstrAnnotation )
{-# ANN type T ForceSpecConstr #-}
It's a kind of bug that the package exporting SpecConstrAnnotation
is linked even though it is only needed at compile time, but putting
the data type declaration in GHC.Exts is a simple way to sidestep
the problem
See See Note [SpecConstrAnnotation] in SpecConstr
Simon Marlow [Thu, 14 Oct 2010 08:42:20 +0000 (08:42 +0000)]
throwTo: mention interruptible foreign calls
Simon Marlow [Wed, 13 Oct 2010 10:19:06 +0000 (10:19 +0000)]
remove trailing whitespace
Simon Marlow [Wed, 13 Oct 2010 10:18:49 +0000 (10:18 +0000)]
FIX #4381
Fix scaleFloat by clamping the scaling parameter so that
exponent + scale doesn't overflow.
Patch by: Daniel Fischer <daniel.is.fischer@web.de>
Bas van Dijk [Fri, 24 Sep 2010 22:13:40 +0000 (22:13 +0000)]
Replaced some throws to throwIOs where the type is IO
Bas van Dijk [Tue, 5 Oct 2010 07:27:01 +0000 (07:27 +0000)]
Added initial .authorspellings
Daniel Fischer [Sat, 2 Oct 2010 23:12:01 +0000 (23:12 +0000)]
Lazier intersperse
A lazier implementation of intersperse, and consequentially intercalate, to
avoid space leaks.
ghc@cainnorris.net [Mon, 16 Aug 2010 21:36:54 +0000 (21:36 +0000)]
FIX #4228 (atanh (-1) returns NaN instead of -Infinity)
Daniel Fischer [Thu, 30 Sep 2010 19:17:31 +0000 (19:17 +0000)]
Make intersectBy lazier
Add shortcuts to intersectBy for empty list arguments.
In addition to being faster in that case, more inputs yield defined results.
Treats ticket #4323
Simon Marlow [Wed, 22 Sep 2010 11:38:11 +0000 (11:38 +0000)]
doc tweak for Directory file type: file names are '\0'-separated
Simon Marlow [Wed, 15 Sep 2010 13:13:41 +0000 (13:13 +0000)]
documentation for IODeviceType (#4317, edited by me)
<unknown> [Thu, 22 Jul 2010 21:07:26 +0000 (21:07 +0000)]
Allow Data.HashTable construction with user-supplied size
This avoids some resizing for users who know they will be inserting a
lot of data.
http://hackage.haskell.org/trac/ghc/ticket/4193
Simon Marlow [Thu, 16 Sep 2010 11:37:32 +0000 (11:37 +0000)]
some fixes for hGetBufSome
- fix one case where it was blocking when it shouldn't
- a couple of error-message tweaks
Simon Marlow [Wed, 15 Sep 2010 14:26:18 +0000 (14:26 +0000)]
Windows: map ERROR_NO_DATA to EPIPE, rather than EINVAL
WriteFile() returns ERROR_NO_DATA when writing to a pipe that is
"closing", however by default the write() wrapper in the CRT maps this
to EINVAL so we get confusing things like
hPutChar: invalid argument (Invalid Argumnet)
when piping the output of a Haskell program into something that closes
the pipe early. This was happening in the testsuite in a few place.
The solution is to map ERROR_NO_DATA to EPIPE correctly, as we
explicitly check for EPIPE on stdout (in GHC.TopHandler) so we can
exit without an error in this case.
Simon Marlow [Mon, 13 Sep 2010 21:47:33 +0000 (21:47 +0000)]
tighten up parsing of numbers (#1579)
simonpj@microsoft.com [Tue, 14 Sep 2010 13:46:39 +0000 (13:46 +0000)]
Add absentError.
This patch accompanies the HEAD patch:
Tue Sep 14 12:38:27 BST 2010 simonpj@microsoft.com
* Make absent-arg wrappers work for unlifted types (fix Trac #4306)
Previously we were simply passing arguments of unlifted
type to a wrapper, even if they were absent, which was
stupid.
See Note [Absent error Id] in WwLib.
simonpj@microsoft.com [Tue, 14 Sep 2010 12:27:50 +0000 (12:27 +0000)]
Add missing import, fixes build on windows
Simon Marlow [Mon, 13 Sep 2010 15:44:59 +0000 (15:44 +0000)]
Add a suitable Show instance for TextEncoding (#4273)
Simon Marlow [Mon, 13 Sep 2010 15:33:50 +0000 (15:33 +0000)]
don't fill a finalized handle with an error (see comment)
Simon Marlow [Mon, 13 Sep 2010 15:30:31 +0000 (15:30 +0000)]
deriving (Eq, Ord, Read, Show) for Newline and NewlineMode
Simon Marlow [Mon, 13 Sep 2010 11:15:36 +0000 (11:15 +0000)]
fix warning on Windows
simonpj@microsoft.com [Mon, 13 Sep 2010 10:18:32 +0000 (10:18 +0000)]
Put the state-token argument on fill, done, adjust on the RHS
This is so that the functions will inline when
applied to their normal (non-state-token) aguments.
I forget why I did this, but it seems like the right thing anyway.
Ross Paterson [Thu, 9 Sep 2010 12:55:21 +0000 (12:55 +0000)]
avoid Foreign.unsafePerformIO
Simon Marlow [Thu, 9 Sep 2010 11:33:31 +0000 (11:33 +0000)]
Remove debugging code accidentally left in
Ian Lynagh [Wed, 8 Sep 2010 12:30:37 +0000 (12:30 +0000)]
Fix Windows build; patches frmo ezyang
Edward Z. Yang [Tue, 7 Sep 2010 15:41:44 +0000 (15:41 +0000)]
More accurate isatty test for MinGW.
Ian Lynagh [Sat, 4 Sep 2010 22:37:03 +0000 (22:37 +0000)]
Fix the build when HAVE_KQUEUE but not HAVE_KEVENT64
benl@ouroborus.net [Mon, 30 Aug 2010 04:47:41 +0000 (04:47 +0000)]
Fix warnings