Ross Paterson [Thu, 29 Jul 2010 12:24:49 +0000 (12:24 +0000)]
move Monad and MonadFix instances for Either from mtl (proposal #4159)
The Monad and MonadFix instances for Either (formerly in the mtl
package) are moved to Control.Monad.Instances and Control.Monad.Fix
respectively. The Monad instance is still an orphan, to retain Haskell
98 compatibility, but the MonadFix instance is together with its class.
The Error constraint is removed from both instances, and the default
definition of fail is used.
Malcolm.Wallace@me.com [Thu, 22 Jul 2010 07:54:49 +0000 (07:54 +0000)]
Remove egregious ghc-ish from Foreign.Marshal
Simon Marlow [Tue, 20 Jul 2010 15:38:58 +0000 (15:38 +0000)]
add numSparks :: IO Int (#4167)
Simon Marlow [Tue, 20 Jul 2010 08:28:19 +0000 (08:28 +0000)]
add unsafeLocalState from Haskell 2010, and docs
Simon Marlow [Tue, 20 Jul 2010 08:28:04 +0000 (08:28 +0000)]
docs: mention that Foreign.unsafePerformIO is deprecated
We can't actually deprecate it without introducing a name clash
between Foreign.unsafePerformIO and System.IO.Unsafe.unsafePerformIO
Simon Marlow [Wed, 14 Jul 2010 15:13:47 +0000 (15:13 +0000)]
doc formatting fix
Simon Marlow [Wed, 14 Jul 2010 11:58:53 +0000 (11:58 +0000)]
add module intro from Haskell 2010
Simon Marlow [Wed, 14 Jul 2010 10:41:07 +0000 (10:41 +0000)]
document exception-overriding behaviour in withFile
Simon Marlow [Wed, 14 Jul 2010 10:36:49 +0000 (10:36 +0000)]
doc: use "finalizer" consistently
Simon Marlow [Wed, 14 Jul 2010 10:33:10 +0000 (10:33 +0000)]
clarify meaning of bit
Simon Marlow [Wed, 14 Jul 2010 10:33:04 +0000 (10:33 +0000)]
note shortcutting behaviour of any/all/elem
Simon Marlow [Tue, 13 Jul 2010 13:25:15 +0000 (13:25 +0000)]
add cast{C,U}CharToChar and castCharTo{C,U}Char, from Haskell 2010
Simon Marlow [Tue, 13 Jul 2010 13:24:03 +0000 (13:24 +0000)]
mention that IntPtr and WordPtr can be marshalled to/from intptr_t and uintptr_t
simonpj@microsoft.com [Wed, 7 Jul 2010 13:57:25 +0000 (13:57 +0000)]
Partial fix for Trac #4136
In 'choose' (which is a library function designed specifically
to support derived instances of Read), we must match Symbol
as well as Ident, for nullary constructors that (wierdly) are
symbols.
Simon Hengel [Sun, 11 Jul 2010 14:16:48 +0000 (14:16 +0000)]
Fix typo in documentation
Simon Hengel [Sun, 11 Jul 2010 07:27:03 +0000 (07:27 +0000)]
Remove duplicated word in documentation
Malcolm.Wallace@me.com [Sat, 10 Jul 2010 17:09:40 +0000 (17:09 +0000)]
Allow nhc98 to cope with recent changes to Control.Exception.
Simon Marlow [Thu, 8 Jul 2010 15:27:35 +0000 (15:27 +0000)]
New asynchronous exception control API (base parts)
As discussed on the libraries/haskell-cafe mailing lists
http://www.haskell.org/pipermail/libraries/2010-April/013420.html
This is a replacement for block/unblock in the asychronous exceptions
API to fix a problem whereby a function could unblock asynchronous
exceptions even if called within a blocked context.
The new terminology is "mask" rather than "block" (to avoid confusion
due to overloaded meanings of the latter).
The following is the new API; the old API is deprecated but still
available for the time being.
Control.Exception
-----------------
mask :: ((forall a. IO a -> IO a) -> IO b) -> IO b
mask_ :: IO a -> IO a
uninterruptibleMask :: ((forall a. IO a -> IO a) -> IO b) -> IO b
uninterruptibleMask_ :: IO a -> IO
getMaskingState :: IO MaskingState
data MaskingState
= Unmasked
| MaskedInterruptible
| MaskedUninterruptible
Control.Concurrent
------------------
forkIOUnmasked :: IO () -> IO ThreadId
Simon Marlow [Thu, 8 Jul 2010 14:58:19 +0000 (14:58 +0000)]
Async-exception safety, and avoid space leaks
Patch submitted by: Bas van Dijk <v.dijk.bas@gmail.com>
Modified slightly by me to remove non-functional changes.
Simon Marlow [Thu, 8 Jul 2010 10:31:54 +0000 (10:31 +0000)]
Async-exception safety, and avoid space leaks
Patch submitted by: Bas van Dijk <v.dijk.bas@gmail.com>
Modified slightly by me to remove non-functional changes.
Simon Marlow [Fri, 2 Jul 2010 13:02:10 +0000 (13:02 +0000)]
Fix a few places where we forgot to close the text codecs (#4029)
Each time you invoke :load in GHCi it resets the CAFs, including
stdin/stdout/stderr, and each of these was allocating a new iconv_t.
Simon Marlow [Thu, 1 Jul 2010 15:42:03 +0000 (15:42 +0000)]
remove docs from Monad that belonged on the instance for MonadPlus IO
Simon Marlow [Thu, 1 Jul 2010 15:38:17 +0000 (15:38 +0000)]
docs: unqualify Prelude.IO
Simon Marlow [Thu, 1 Jul 2010 14:27:27 +0000 (14:27 +0000)]
unqualify Float and Double
Simon Marlow [Thu, 1 Jul 2010 14:24:15 +0000 (14:24 +0000)]
extract information about Data.Time from docs for CTime
Simon Marlow [Thu, 1 Jul 2010 14:23:54 +0000 (14:23 +0000)]
doc typo
Simon Marlow [Thu, 1 Jul 2010 12:53:33 +0000 (12:53 +0000)]
peekArray docs: remove mentions of "this version" and "previous version"
Simon Marlow [Thu, 1 Jul 2010 12:41:54 +0000 (12:41 +0000)]
doc typo
Simon Marlow [Thu, 1 Jul 2010 12:41:28 +0000 (12:41 +0000)]
doc typo
Simon Marlow [Thu, 1 Jul 2010 12:37:15 +0000 (12:37 +0000)]
doc typo
Simon Marlow [Thu, 1 Jul 2010 12:36:12 +0000 (12:36 +0000)]
doc wibble: Haskell 98 I/O Error -> 'IOError'
Simon Marlow [Thu, 1 Jul 2010 12:30:14 +0000 (12:30 +0000)]
doc typo
Simon Marlow [Thu, 1 Jul 2010 12:16:31 +0000 (12:16 +0000)]
Haddock hacks to fix whitespace consistency
Simon Marlow [Thu, 1 Jul 2010 12:16:16 +0000 (12:16 +0000)]
use '==' consistently rather than '->' in examples
Simon Marlow [Thu, 1 Jul 2010 11:33:08 +0000 (11:33 +0000)]
doc wibble: remove confusing mention of "Prelude"
Simon Marlow [Thu, 1 Jul 2010 11:32:53 +0000 (11:32 +0000)]
doc wibble: nonstrict -> non-strict
Simon Marlow [Thu, 1 Jul 2010 11:22:42 +0000 (11:22 +0000)]
doc whitespace
Simon Marlow [Tue, 29 Jun 2010 13:41:50 +0000 (13:41 +0000)]
move the doc for 'Char' to its new home in ghc-prim:GHC.Types
Simon Marlow [Tue, 29 Jun 2010 12:26:08 +0000 (12:26 +0000)]
doc wibble
Simon Marlow [Tue, 29 Jun 2010 12:21:18 +0000 (12:21 +0000)]
doc updates in System.IO
Simon Marlow [Fri, 25 Jun 2010 13:48:58 +0000 (13:48 +0000)]
doc wibble
Simon Marlow [Thu, 24 Jun 2010 15:46:14 +0000 (15:46 +0000)]
doc wibbles
Ian Lynagh [Fri, 25 Jun 2010 22:26:23 +0000 (22:26 +0000)]
Fix haddock formatting
Ian Lynagh [Fri, 25 Jun 2010 22:20:59 +0000 (22:20 +0000)]
Give nub's complexity in the haddock docs; fixes #4086
Simon Marlow [Thu, 24 Jun 2010 13:05:06 +0000 (13:05 +0000)]
correct docs for exitWith: only stdout/stderr are flushed, not all Handles
Simon Marlow [Thu, 24 Jun 2010 13:04:44 +0000 (13:04 +0000)]
fix docs for isSpace
Simon Marlow [Thu, 24 Jun 2010 13:04:25 +0000 (13:04 +0000)]
make the hGetBuf/hPutBuf family work with non-FD Handles (#4144)
Simon Marlow [Tue, 22 Jun 2010 12:11:31 +0000 (12:11 +0000)]
nit in docs for accumArray
Simon Marlow [Tue, 22 Jun 2010 12:09:30 +0000 (12:09 +0000)]
add doc for the ExitCode type
Simon Marlow [Tue, 22 Jun 2010 12:09:21 +0000 (12:09 +0000)]
remove extraneous info from docs for Array
Simon Marlow [Tue, 8 Jun 2010 08:25:31 +0000 (08:25 +0000)]
add an INLINE to the list version of traverse, to enable fusion
Ian Lynagh [Sun, 20 Jun 2010 20:23:42 +0000 (20:23 +0000)]
Don't define the C localeEncoding on Windows
(it causes warnings, and isn't used)
Ross Paterson [Thu, 17 Jun 2010 22:51:10 +0000 (22:51 +0000)]
add Applicative instance for Either (proposal #4095)
This is not the only possible instance for Either, but this one is
compatible with the usual Monad instance.
pho@cielonegro.org [Wed, 19 May 2010 01:31:12 +0000 (01:31 +0000)]
Use libcharset instead of nl_langinfo(CODESET) if possible.
nl_langinfo(CODESET) doesn't always return standardized variations of the encoding names. Use libcharset if possible, which is shipped together with GNU libiconv.
Simon Marlow [Tue, 15 Jun 2010 11:27:20 +0000 (11:27 +0000)]
Add a note about the interruptibility of throwTo.
Simon Marlow [Tue, 15 Jun 2010 11:25:47 +0000 (11:25 +0000)]
docs: note that hGetBufNonBlocking isn't non-blocking on Windows
Simon Marlow [Tue, 15 Jun 2010 10:56:31 +0000 (10:56 +0000)]
don't depend on Prelude (#4122)
Simon Marlow [Tue, 15 Jun 2010 10:54:01 +0000 (10:54 +0000)]
Don't depend on Prelude (#4123)
Simon Marlow [Tue, 1 Jun 2010 14:48:31 +0000 (14:48 +0000)]
bump version to 4.3.0.0, added instance MonadPlus STM
Bas van Dijk [Sun, 16 May 2010 16:06:51 +0000 (16:06 +0000)]
Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orphaned instance
Bas van Dijk [Sun, 16 May 2010 17:17:56 +0000 (17:17 +0000)]
Added Applicative and Alternative instances for STM
Ross Paterson [Wed, 2 Jun 2010 21:21:54 +0000 (21:21 +0000)]
expand Foldable instance for Array
Ross Paterson [Thu, 27 May 2010 15:08:33 +0000 (15:08 +0000)]
doc comment illustrating Foldable(foldr)
Ross Paterson [Thu, 27 May 2010 15:07:57 +0000 (15:07 +0000)]
fix syntax in doc comments
Simon Marlow [Thu, 20 May 2010 09:35:38 +0000 (09:35 +0000)]
export hGetBufSome (#4046)
Simon Marlow [Mon, 17 May 2010 13:37:41 +0000 (13:37 +0000)]
hWaitForInput: don't try to read from the device (#4078)
readTextDeviceNonBlocking is not non-blocking on Windows
Simon Marlow [Fri, 14 May 2010 12:46:28 +0000 (12:46 +0000)]
hSetEncoding: change the encoding on both read and write sides (#4066)
Adam Vogt [Fri, 23 Apr 2010 02:21:03 +0000 (02:21 +0000)]
Correct haddock formatting.
Simon Marlow [Wed, 5 May 2010 13:56:37 +0000 (13:56 +0000)]
Fix for hGetBufSome
Simon Marlow [Wed, 5 May 2010 13:56:00 +0000 (13:56 +0000)]
improve the documentation for throwTo and killThread (#3884)
Simon Marlow [Wed, 5 May 2010 10:12:49 +0000 (10:12 +0000)]
elaborate the docs for unsafePerformIO a bit
Simon Marlow [Tue, 4 May 2010 15:28:15 +0000 (15:28 +0000)]
add Typeable instance
Simon Marlow [Tue, 4 May 2010 15:27:59 +0000 (15:27 +0000)]
Add hGetBufSome, like hGetBuf but can return short reads
Simon Marlow [Tue, 4 May 2010 09:53:39 +0000 (09:53 +0000)]
Add swap (#3298)
Simon Marlow [Fri, 23 Apr 2010 12:47:29 +0000 (12:47 +0000)]
inline allocaArray0, to fix withCString benchmark
Simon Marlow [Wed, 21 Apr 2010 09:49:32 +0000 (09:49 +0000)]
raise asynchronous exceptions asynchronously (#3997)
Simon Marlow [Wed, 21 Apr 2010 08:20:41 +0000 (08:20 +0000)]
add NOINLINE pragmas for stdin/stdout/stderr
Simon Marlow [Mon, 19 Apr 2010 13:53:33 +0000 (13:53 +0000)]
INLINE alloca and malloc
See discussion on glasgow-haskell-users:
http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018740.html
Matthias Kilian [Mon, 19 Apr 2010 15:54:21 +0000 (15:54 +0000)]
Move comment closer to the offending line
Matthias Kilian [Thu, 15 Apr 2010 14:04:52 +0000 (14:04 +0000)]
Ignore the return code of c_fcntl_write again
The return code has been ignored in the past on purpose, because
O_NONBLOCK will fail on BSDs for some special files. This fixes the
problem mentioned in
http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018698.html
Ian Lynagh [Tue, 13 Apr 2010 13:43:39 +0000 (13:43 +0000)]
Fix bitrot in IO debugging code
Also switched to using Haskell Bools (rather than CPP) to en/disable it,
so it shouldn't break again in the future.
Ian Lynagh [Tue, 13 Apr 2010 01:11:47 +0000 (01:11 +0000)]
Tiny code tidy-up
Simon Marlow [Thu, 25 Mar 2010 16:14:03 +0000 (16:14 +0000)]
remove old/wrong comment
Bas van Dijk [Mon, 29 Mar 2010 13:16:24 +0000 (13:16 +0000)]
withThread: block asynchronous exceptions before installing exception handler.
Note that I don't unblock the given io computation. Because AFAICS
withThread is only called with 'waitFd' which only performs an FFI
call which can't receive asynchronous exceptions anyway.
Bas van Dijk [Mon, 29 Mar 2010 13:15:49 +0000 (13:15 +0000)]
runInUnboundThread: block asynchronous exceptions before installing exception handler
Simon Marlow [Tue, 30 Mar 2010 12:11:37 +0000 (12:11 +0000)]
fix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle)
Bas van Dijk [Thu, 18 Mar 2010 20:03:49 +0000 (20:03 +0000)]
Make SampleVar an abstract newtype
Bas van Dijk [Thu, 18 Mar 2010 20:01:04 +0000 (20:01 +0000)]
Fix bugs regarding asynchronous exceptions and laziness in Control.Concurrent.SampleVar
- Block asynchronous exceptions at the right places
- Force thunks before putting them in a MVar
Bas van Dijk [Fri, 19 Mar 2010 12:59:51 +0000 (12:59 +0000)]
Write the thunk 'next' to the MVar
Simon Marlow [Thu, 18 Mar 2010 10:44:36 +0000 (10:44 +0000)]
change to use STM, fixing 4 things
1. there was no async exception protection
2. there was a space leak (now new value is strict)
3. using atomicModifyIORef would be slightly quicker, but can
suffer from adverse scheduling issues (see #3838)
4. also, the STM version is faster.
Ian Lynagh [Fri, 12 Mar 2010 21:41:29 +0000 (21:41 +0000)]
Tweak docs
Bas van Dijk [Mon, 8 Mar 2010 22:24:15 +0000 (22:24 +0000)]
Fixed dead links in documentation of forkIO
Bas van Dijk [Mon, 1 Mar 2010 22:04:42 +0000 (22:04 +0000)]
Documentation fixes in Control.Exception
Simon Marlow [Thu, 25 Feb 2010 12:02:55 +0000 (12:02 +0000)]
Plug two race conditions that could lead to deadlocks in the IO manager
jpm@cs.uu.nl [Wed, 24 Feb 2010 12:55:06 +0000 (12:55 +0000)]
FIX #3866: improve documentation of Data.Data.Constr
Simon Marlow [Tue, 23 Feb 2010 10:16:03 +0000 (10:16 +0000)]
UNDO: Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
Ian Lynagh [Sun, 21 Feb 2010 19:14:25 +0000 (19:14 +0000)]
Put the complexity in the length docs. Fixes trac #3680
Malcolm.Wallace@cs.york.ac.uk [Sun, 21 Feb 2010 16:32:18 +0000 (16:32 +0000)]
nhc98 should build Data.Functor.
Ian Lynagh [Sat, 13 Feb 2010 14:00:04 +0000 (14:00 +0000)]
Update the exitWith docs
Error pointed out by Volker Wysk <vw@volker-wysk.de>
Simon Marlow [Thu, 11 Feb 2010 10:19:55 +0000 (10:19 +0000)]
Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)