Jose Pedro Magalhaes [Mon, 9 May 2011 07:47:29 +0000 (09:47 +0200)]
Adapt to the renaming of `Representable0` to `Generic`.
Jose Pedro Magalhaes [Wed, 4 May 2011 19:09:29 +0000 (21:09 +0200)]
Merge branch 'master' of darcs.haskell.org/packages/base into ghc-generics
Simon Peyton Jones [Wed, 4 May 2011 15:38:41 +0000 (16:38 +0100)]
Merge branch 'monad-comp'
Jose Pedro Magalhaes [Wed, 4 May 2011 09:18:46 +0000 (11:18 +0200)]
Add Representable0 instances to Either and Maybe.
Jose Pedro Magalhaes [Tue, 3 May 2011 13:40:33 +0000 (15:40 +0200)]
Move Eq and Ord for Int from GHC.Base to GHC.Classes, so they are not longer orphan.
Put Eq and Ord instances for Arity, Associativity, and Fixity in GHC.Classes, Show instances in GHC.Show, and Read instances in GHC.Read.
Jose Pedro Magalhaes [Tue, 3 May 2011 09:50:30 +0000 (11:50 +0200)]
Moved the CString functions to GHC.CString in ghc-prim (needed for the new generic deriving mechanism).
Import and re-export GHC.CString from GHC.Base.
Jose Pedro Magalhaes [Mon, 2 May 2011 19:13:19 +0000 (21:13 +0200)]
Merge branch 'master' of darcs.haskell.org/packages/base into ghc-generics
Solved conflicts:
GHC/Int.hs
Jose Pedro Magalhaes [Mon, 2 May 2011 18:50:35 +0000 (20:50 +0200)]
Comment the generics stuff instances in GHC.Int, for now.
Ian Lynagh [Sat, 30 Apr 2011 14:52:57 +0000 (15:52 +0100)]
Add a note about the definition of quot etc
Based on Simon PJ's text in #5161.
Bas van Dijk [Mon, 4 Apr 2011 18:22:09 +0000 (20:22 +0200)]
Add GHC.Event.getSystemEventManager :: IO (Maybe EventManager)
Denys Rtveliashvili [Thu, 28 Apr 2011 07:45:10 +0000 (08:45 +0100)]
Performance improvement for division: got rid of an unnecessary branching in cases where the second argument is a constant and is not -1.
Nils Schweinsberg [Fri, 29 Apr 2011 16:16:56 +0000 (18:16 +0200)]
monad comprehensions: Group and Zip monad
ticket #4370
Jose Pedro Magalhaes [Fri, 29 Apr 2011 06:46:08 +0000 (08:46 +0200)]
Add instances for basic types of the new generic deriving mechanism.
Jose Pedro Magalhaes [Wed, 27 Apr 2011 11:21:02 +0000 (13:21 +0200)]
Merge branch 'master' of darcs.haskell.org/packages/base into ghc-generics
Ian Lynagh [Sun, 24 Apr 2011 21:04:10 +0000 (22:04 +0100)]
Remove a redundant -fno-warn-unused-binds flag
Ian Lynagh [Sun, 24 Apr 2011 19:32:07 +0000 (20:32 +0100)]
Remove an unnecessary -fno-warn-unused-binds flag
Ian Lynagh [Sun, 24 Apr 2011 18:16:52 +0000 (19:16 +0100)]
For GHC, implement the Typeable.hs macros using standalone deriving
As well as being more pleasant, this fixes #1841:
Data.Typeable: Instances of basic types don't provide qualified
strings to mkTyCon
Ian Lynagh [Fri, 22 Apr 2011 17:42:23 +0000 (18:42 +0100)]
Fix build on 64bit machines
Ian Lynagh [Fri, 22 Apr 2011 14:24:21 +0000 (15:24 +0100)]
Part of #5122 "Faster conversion between Rational and Double/Float" fix
From daniel.is.fischer.
Brent Yorgey [Fri, 15 Apr 2011 19:22:54 +0000 (15:22 -0400)]
Update comment on fmapDefault to note that it only works for Traversable instances with a given definition of traversable, and NOT for instances with only sequenceA given.
Simon Marlow [Fri, 1 Apr 2011 11:15:50 +0000 (12:15 +0100)]
Improve docs for GHC.IO.FD.openFile
simonpj [Tue, 12 Apr 2011 16:48:42 +0000 (17:48 +0100)]
Initial commit for Pedro's generic-default mechanism
Ian Lynagh [Fri, 8 Apr 2011 10:22:28 +0000 (11:22 +0100)]
Update source repo location to be the git repo in .cabal file
Bas van Dijk [Mon, 4 Apr 2011 18:53:24 +0000 (20:53 +0200)]
Removed Show instance for IOCallback and FdData The IOCallback instance conflicts with the more general instance Show (a -> b) defined in Text.Show.Functions
Ian Lynagh [Wed, 6 Apr 2011 20:44:34 +0000 (21:44 +0100)]
Swap FP_COMMUTE_INT argument order to match AC_COMPUTE_INT
The first 2 arguments are in the opposite order for _AC_COMPUTE_INT
Ian Lynagh [Wed, 6 Apr 2011 19:39:42 +0000 (20:39 +0100)]
Use FP_COMPUTE_INT rather than AC_COMPUTE_INT
The latter isn't supported by all versions of autoconf (e.g.
whatever SPJ currently has on Windows).
Max Bolingbroke [Wed, 6 Apr 2011 06:57:40 +0000 (07:57 +0100)]
Use _NSGetEnviron on OS X: fixes #2458
Max Bolingbroke [Mon, 4 Apr 2011 13:45:13 +0000 (14:45 +0100)]
Document invariants on mkText{Decoder,Encoder}
Max Bolingbroke [Sun, 3 Apr 2011 21:36:39 +0000 (22:36 +0100)]
Change some uses of CString functions to CAString instead
This prevents potential loops in future if we implement
FFI spec behaviour where the CString family use the locale encoding.
Max Bolingbroke [Sun, 3 Apr 2011 20:55:00 +0000 (21:55 +0100)]
Fix handling of suffixes for GNU iconv
Max Bolingbroke [Sun, 3 Apr 2011 20:53:45 +0000 (21:53 +0100)]
Change debug prints in readTextDevice' to refer to right function
Max Bolingbroke [Sun, 3 Apr 2011 20:51:23 +0000 (21:51 +0100)]
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/packages/base
Max Bolingbroke [Sun, 3 Apr 2011 20:51:14 +0000 (21:51 +0100)]
Add .gitignore
Ian Lynagh [Sun, 3 Apr 2011 16:08:46 +0000 (17:08 +0100)]
Less strict inits and tails
Converted from darcs patches from Bas van Dijk <v.dijk.bas@gmail.com>
Previously: tails _|_ = _|_
Now: tails _|_ = _|_ : _|_
Previously: inits _|_ = _|_
Now: inits _|_ = [] : _|_
Ian Lynagh [Sun, 3 Apr 2011 15:27:56 +0000 (16:27 +0100)]
Tweak alloca docs
Based on a patch from Jason Dagit
Ian Lynagh [Sun, 3 Apr 2011 13:55:50 +0000 (14:55 +0100)]
Generalize the type of Foreign.Marshal.Utils.maybeNew; fixes trac #5044
git conversion of:
Tue Mar 8 22:31:07 CET 2011 Bas van Dijk <v.dijk.bas@gmail.com>
* Generalize the type of Foreign.Marshal.Utils.maybeNew
This makes it consistent with maybeWith
Ian Lynagh [Thu, 31 Mar 2011 01:18:08 +0000 (01:18 +0000)]
Rewrite FPTOOLS_CHECK_HTYPE to be cross-compilation-friendly
Inspired by a patch from Mark Lentczner
Ian Lynagh [Wed, 30 Mar 2011 20:27:56 +0000 (20:27 +0000)]
No need to include the OpenGL / OpenAL headers in aclocal.m4
Simon Marlow [Wed, 30 Mar 2011 10:05:04 +0000 (10:05 +0000)]
Export the affinity API from Control.Concurrent: forkOn and friends.
forkOn :: Int -> IO () -> IO ThreadId
forkOnWithUnmask :: Int -> ((forall a . IO a -> IO a) -> IO ()) -> IO ThreadId
getNumCapabilities :: IO Int
threadCapability :: ThreadId -> IO (Int, Bool)
Following discussion on the libraries list, I renamed forkOnIO to
forkOn. In due course we might want to also rename forkIO to fork.
I left the Int argument as it is, it's quite useful to be able to
specify a number to be interpreted modulo the actual number of
processors.
I also used the term "capability" consistently. It might not be the
best choice, but we have to pick something.
Bas van Dijk [Thu, 3 Mar 2011 00:42:58 +0000 (00:42 +0000)]
Deprecate Control.Exception.blocked in favour of getMaskingState
Simon Marlow [Tue, 29 Mar 2011 15:03:48 +0000 (15:03 +0000)]
fix Haddock error
Simon Marlow [Tue, 29 Mar 2011 13:56:39 +0000 (13:56 +0000)]
add forkIOWithUnmask, forkOnIOWithUnmask; deprecate forkIOUnmasked
With forkIOUnmasked it wasn't possible to reliably set up an exception
handler in the child thread, because exceptions were immediately
unmasked.
forkIOWithUnmask :: ((forall a . IO a -> IO a) -> IO ()) -> IO ThreadId
forkOnIOWithUnmask :: Int -> ((forall a . IO a -> IO a) -> IO ()) -> IO ThreadId
Simon Marlow [Tue, 29 Mar 2011 13:09:28 +0000 (13:09 +0000)]
Add GHC.IO.Handle.FD.openFileBlocking (#4248)
like openFile, but opens the file without O_NONBLOCK
Simon Marlow [Wed, 22 Dec 2010 10:01:49 +0000 (10:01 +0000)]
Add allowInterrupt :: IO () (#4810)
docs:
-- | When invoked inside 'mask', this function allows a blocked
-- asynchronous exception to be raised, if one exists. It is
-- equivalent to performing an interruptible operation (see
-- #interruptible#), but does not involve any actual blocking.
--
-- When called outside 'mask', or inside 'uninterruptibleMask', this
-- function has no effect.
Dmitry Astapov [Wed, 19 Jan 2011 10:14:45 +0000 (10:14 +0000)]
Fix documentation for mkWeakIORef: argument is finalizer, not key or value
Ian Lynagh [Wed, 23 Mar 2011 23:49:06 +0000 (23:49 +0000)]
Work around a limitation in the hsc2hs cross-compilation mode
Ian Lynagh [Mon, 21 Mar 2011 23:43:46 +0000 (23:43 +0000)]
Rename System.Event to GHC.Event
It's just an internal GHC library, for now at least
Ian Lynagh [Sat, 12 Mar 2011 21:14:26 +0000 (21:14 +0000)]
Never use epoll_create1; fixes trac #5005
There is little benefit to using epoll_create1 (especially if we still
have the epoll_create code too), and it cuases problems if people build
a GHC binary on one machine and try to use it on another.
Ian Lynagh [Wed, 9 Mar 2011 20:06:09 +0000 (20:06 +0000)]
Fix warning
Daniel Fischer [Mon, 18 Oct 2010 21:03:37 +0000 (21:03 +0000)]
FIX #2271
Faster rounding functions for Double and float with Int or Integer results.
Fixes #2271.
Since some glibc's have buggy rintf or rint functions and the behaviour of
these functions depends on the setting of the rounding mode, we provide our
own implementations which always round ties to even.
Also added rewrite rules and removed trailing whitespace.
Simon Marlow [Tue, 1 Mar 2011 10:32:46 +0000 (10:32 +0000)]
add threadCapability :: ThreadId -> IO (Int,Bool)
-- | returns the number of the capability on which the thread is currently
-- running, and a boolean indicating whether the thread is locked to
-- that capability or not. A thread is locked to a capability if it
-- was created with @forkOnIO@.
Simon Marlow [Wed, 22 Dec 2010 13:00:24 +0000 (13:00 +0000)]
follow changes to threadStatus#, and update stat values
Bas van Dijk [Tue, 15 Feb 2011 21:24:57 +0000 (21:24 +0000)]
Make the Timeout exception a newtype instead of a datatype
Ross Paterson [Mon, 28 Feb 2011 23:32:32 +0000 (23:32 +0000)]
improve discussion of the laws (doc comments only)
following a suggestion of Russell O'Connor on the libraries list.
Ian Lynagh [Sat, 26 Feb 2011 00:51:44 +0000 (00:51 +0000)]
Add some more explanation to the skip channel example in the MVar docs
Ian Lynagh [Fri, 25 Feb 2011 21:46:14 +0000 (21:46 +0000)]
Grammar fix
Edward Z. Yang [Sun, 16 Jan 2011 19:23:34 +0000 (19:23 +0000)]
Expand and clarify MVar documentation.
Manuel M T Chakravarty [Fri, 18 Feb 2011 01:29:52 +0000 (01:29 +0000)]
Remove most of GHC.PArr
- First step of migrating this code into the dph package
Ian Lynagh [Sat, 19 Feb 2011 13:31:42 +0000 (13:31 +0000)]
Roll back generics changes in the HEAD repos
jpm@cs.uu.nl [Thu, 14 Oct 2010 12:42:40 +0000 (12:42 +0000)]
Do not export GHC.Generics from GHC.Base
Malcolm.Wallace@me.com [Fri, 11 Feb 2011 11:17:28 +0000 (11:17 +0000)]
Fix incorrect #ifdef for nhc98
Malcolm.Wallace@me.com [Fri, 11 Feb 2011 11:16:34 +0000 (11:16 +0000)]
Add Data.String to the nhc98 build
Bas van Dijk [Mon, 7 Feb 2011 19:31:49 +0000 (19:31 +0000)]
Regenerated cbits/WCsubst.c based on Unicode 6.0.0
Ian Lynagh [Sat, 5 Feb 2011 15:53:54 +0000 (15:53 +0000)]
Deprecate System.IO.Error.{catch,try} and Prelude.catch; fixes trac #4865
Simon Marlow [Wed, 22 Dec 2010 12:59:53 +0000 (12:59 +0000)]
add getNumCapabilities :: IO Int
If we ever get around to implementing #3729 and #3210, then the number
of capabilities will vary at runtime, so we need to move
numCapabilities into the IO monad.
Simon Marlow [Mon, 31 Jan 2011 14:32:58 +0000 (14:32 +0000)]
add missing extensions for Windows
Simon Marlow [Mon, 31 Jan 2011 13:52:09 +0000 (13:52 +0000)]
add NoImplicitPrelude (fix Windows build failure)
simonpj@microsoft.com [Fri, 28 Jan 2011 12:07:19 +0000 (12:07 +0000)]
Use explicit language extensions & remove extension fields from base.cabal
Add explicit {-# LANGUAGE xxx #-} pragmas to each module, that say
what extensions that module uses. This makes it clearer where
different extensions are used in the (large, variagated) base package.
Now base.cabal doesn't need any extensions field
Thanks to Bas van Dijk for doing all the work.
Simon Marlow [Fri, 21 Jan 2011 14:35:55 +0000 (14:35 +0000)]
fix silly mistake in hGetBufSome (#4895)
Dmitry Astapov [Wed, 19 Jan 2011 10:33:00 +0000 (10:33 +0000)]
Clean up remnants of the Event Manager after forkProcess. Closes #4449
Johan Tibell [Wed, 12 Jan 2011 12:54:30 +0000 (12:54 +0000)]
Document System.Event
Ian Lynagh [Mon, 17 Jan 2011 18:48:20 +0000 (18:48 +0000)]
Add NondecreasingIndentation to the extensions needed
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