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)
Malcolm.Wallace@cs.york.ac.uk [Thu, 4 Feb 2010 17:10:21 +0000 (17:10 +0000)]
For nhc98, import unsafeInterleaveIO rather than defining it here.
benl@cse.unsw.edu.au [Wed, 3 Feb 2010 02:55:37 +0000 (02:55 +0000)]
Stifle warning about unused return value
Simon Marlow [Wed, 20 Jan 2010 21:18:30 +0000 (21:18 +0000)]
fix #3832: use the locale encoding in openTempFile
Also while I was here fix an XXX: the Handle contained an
uninformative string like <fd: 4> for error messages rather than the
real file path.
Ian Lynagh [Sat, 16 Jan 2010 17:44:51 +0000 (17:44 +0000)]
Fix the build: export void, so it doesn't give an unused binding warning
Simon Marlow [Tue, 12 Jan 2010 23:03:17 +0000 (23:03 +0000)]
hIsEOF: don't do any decoding (#3808)
gwern0@gmail.com [Fri, 8 Jan 2010 21:44:55 +0000 (21:44 +0000)]
Control.Monad: +void :: f a -> f ()
See http://hackage.haskell.org/trac/ghc/ticket/3292
Turns m a -> m (). Lets one call functions for their side-effects without
having to get rid of their return values with '>> return ()'. Very useful
in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_',
as they demand return types of 'IO ()' though most interesting IO functions
return non-().