packages/base.git
9 years agoadd cast{C,U}CharToChar and castCharTo{C,U}Char, from Haskell 2010
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

9 years agomention that IntPtr and WordPtr can be marshalled to/from intptr_t and uintptr_t
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

9 years agoPartial fix for Trac #4136
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.

9 years agoFix typo in documentation
Simon Hengel [Sun, 11 Jul 2010 14:16:48 +0000 (14:16 +0000)] 
Fix typo in documentation

9 years agoRemove duplicated word in documentation
Simon Hengel [Sun, 11 Jul 2010 07:27:03 +0000 (07:27 +0000)] 
Remove duplicated word in documentation

9 years agoAllow nhc98 to cope with recent changes to Control.Exception.
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.

9 years ago New asynchronous exception control API (base parts)
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

9 years agoAsync-exception safety, and avoid space leaks
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.

9 years agoAsync-exception safety, and avoid space leaks
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.

9 years agoFix a few places where we forgot to close the text codecs (#4029)
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.

9 years agoremove docs from Monad that belonged on the instance for MonadPlus IO
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

9 years agodocs: unqualify Prelude.IO
Simon Marlow [Thu, 1 Jul 2010 15:38:17 +0000 (15:38 +0000)] 
docs: unqualify Prelude.IO

9 years agounqualify Float and Double
Simon Marlow [Thu, 1 Jul 2010 14:27:27 +0000 (14:27 +0000)] 
unqualify Float and Double

9 years agoextract information about Data.Time from docs for CTime
Simon Marlow [Thu, 1 Jul 2010 14:24:15 +0000 (14:24 +0000)] 
extract information about Data.Time from docs for CTime

9 years agodoc typo
Simon Marlow [Thu, 1 Jul 2010 14:23:54 +0000 (14:23 +0000)] 
doc typo

9 years agopeekArray docs: remove mentions of "this version" and "previous version"
Simon Marlow [Thu, 1 Jul 2010 12:53:33 +0000 (12:53 +0000)] 
peekArray docs: remove mentions of "this version" and "previous version"

9 years agodoc typo
Simon Marlow [Thu, 1 Jul 2010 12:41:54 +0000 (12:41 +0000)] 
doc typo

9 years agodoc typo
Simon Marlow [Thu, 1 Jul 2010 12:41:28 +0000 (12:41 +0000)] 
doc typo

9 years agodoc typo
Simon Marlow [Thu, 1 Jul 2010 12:37:15 +0000 (12:37 +0000)] 
doc typo

9 years agodoc wibble: Haskell 98 I/O Error -> 'IOError'
Simon Marlow [Thu, 1 Jul 2010 12:36:12 +0000 (12:36 +0000)] 
doc wibble: Haskell 98 I/O Error -> 'IOError'

9 years agodoc typo
Simon Marlow [Thu, 1 Jul 2010 12:30:14 +0000 (12:30 +0000)] 
doc typo

9 years agoHaddock hacks to fix whitespace consistency
Simon Marlow [Thu, 1 Jul 2010 12:16:31 +0000 (12:16 +0000)] 
Haddock hacks to fix whitespace consistency

9 years agouse '==' consistently rather than '->' in examples
Simon Marlow [Thu, 1 Jul 2010 12:16:16 +0000 (12:16 +0000)] 
use '==' consistently rather than '->' in examples

9 years agodoc wibble: remove confusing mention of "Prelude"
Simon Marlow [Thu, 1 Jul 2010 11:33:08 +0000 (11:33 +0000)] 
doc wibble: remove confusing mention of "Prelude"

9 years agodoc wibble: nonstrict -> non-strict
Simon Marlow [Thu, 1 Jul 2010 11:32:53 +0000 (11:32 +0000)] 
doc wibble: nonstrict -> non-strict

9 years agodoc whitespace
Simon Marlow [Thu, 1 Jul 2010 11:22:42 +0000 (11:22 +0000)] 
doc whitespace

9 years agomove the doc for 'Char' to its new home in ghc-prim:GHC.Types
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

9 years agodoc wibble
Simon Marlow [Tue, 29 Jun 2010 12:26:08 +0000 (12:26 +0000)] 
doc wibble

9 years agodoc updates in System.IO
Simon Marlow [Tue, 29 Jun 2010 12:21:18 +0000 (12:21 +0000)] 
doc updates in System.IO

9 years agodoc wibble
Simon Marlow [Fri, 25 Jun 2010 13:48:58 +0000 (13:48 +0000)] 
doc wibble

9 years agodoc wibbles
Simon Marlow [Thu, 24 Jun 2010 15:46:14 +0000 (15:46 +0000)] 
doc wibbles

9 years agoFix haddock formatting
Ian Lynagh [Fri, 25 Jun 2010 22:26:23 +0000 (22:26 +0000)] 
Fix haddock formatting

9 years agoGive nub's complexity in the haddock docs; fixes #4086
Ian Lynagh [Fri, 25 Jun 2010 22:20:59 +0000 (22:20 +0000)] 
Give nub's complexity in the haddock docs; fixes #4086

9 years agocorrect docs for exitWith: only stdout/stderr are flushed, not all Handles
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

9 years agofix docs for isSpace
Simon Marlow [Thu, 24 Jun 2010 13:04:44 +0000 (13:04 +0000)] 
fix docs for isSpace

9 years agomake the hGetBuf/hPutBuf family work with non-FD Handles (#4144)
Simon Marlow [Thu, 24 Jun 2010 13:04:25 +0000 (13:04 +0000)] 
make the hGetBuf/hPutBuf family work with non-FD Handles (#4144)

9 years agonit in docs for accumArray
Simon Marlow [Tue, 22 Jun 2010 12:11:31 +0000 (12:11 +0000)] 
nit in docs for accumArray

9 years agoadd doc for the ExitCode type
Simon Marlow [Tue, 22 Jun 2010 12:09:30 +0000 (12:09 +0000)] 
add doc for the ExitCode type

9 years agoremove extraneous info from docs for Array
Simon Marlow [Tue, 22 Jun 2010 12:09:21 +0000 (12:09 +0000)] 
remove extraneous info from docs for Array

9 years agoadd an INLINE to the list version of traverse, to enable fusion
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

9 years agoDon't define the C localeEncoding on Windows
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)

9 years agoadd Applicative instance for Either (proposal #4095)
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.

9 years agoUse libcharset instead of nl_langinfo(CODESET) if possible.
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.

9 years agoAdd a note about the interruptibility of throwTo.
Simon Marlow [Tue, 15 Jun 2010 11:27:20 +0000 (11:27 +0000)] 
Add a note about the interruptibility of throwTo.

9 years agodocs: note that hGetBufNonBlocking isn't non-blocking on Windows
Simon Marlow [Tue, 15 Jun 2010 11:25:47 +0000 (11:25 +0000)] 
docs: note that hGetBufNonBlocking isn't non-blocking on Windows

9 years agodon't depend on Prelude (#4122)
Simon Marlow [Tue, 15 Jun 2010 10:56:31 +0000 (10:56 +0000)] 
don't depend on Prelude (#4122)

9 years agoDon't depend on Prelude (#4123)
Simon Marlow [Tue, 15 Jun 2010 10:54:01 +0000 (10:54 +0000)] 
Don't depend on Prelude (#4123)

9 years agobump version to 4.3.0.0, added instance MonadPlus STM
Simon Marlow [Tue, 1 Jun 2010 14:48:31 +0000 (14:48 +0000)] 
bump version to 4.3.0.0, added instance MonadPlus STM

9 years agoMoved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orpha...
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

9 years agoAdded Applicative and Alternative instances for STM
Bas van Dijk [Sun, 16 May 2010 17:17:56 +0000 (17:17 +0000)] 
Added Applicative and Alternative instances for STM

9 years agoexpand Foldable instance for Array
Ross Paterson [Wed, 2 Jun 2010 21:21:54 +0000 (21:21 +0000)] 
expand Foldable instance for Array

9 years agodoc comment illustrating Foldable(foldr)
Ross Paterson [Thu, 27 May 2010 15:08:33 +0000 (15:08 +0000)] 
doc comment illustrating Foldable(foldr)

9 years agofix syntax in doc comments
Ross Paterson [Thu, 27 May 2010 15:07:57 +0000 (15:07 +0000)] 
fix syntax in doc comments

9 years agoexport hGetBufSome (#4046)
Simon Marlow [Thu, 20 May 2010 09:35:38 +0000 (09:35 +0000)] 
export hGetBufSome (#4046)

9 years agohWaitForInput: don't try to read from the device (#4078)
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

9 years agohSetEncoding: change the encoding on both read and write sides (#4066)
Simon Marlow [Fri, 14 May 2010 12:46:28 +0000 (12:46 +0000)] 
hSetEncoding: change the encoding on both read and write sides (#4066)

9 years agoCorrect haddock formatting.
Adam Vogt [Fri, 23 Apr 2010 02:21:03 +0000 (02:21 +0000)] 
Correct haddock formatting.

9 years agoFix for hGetBufSome
Simon Marlow [Wed, 5 May 2010 13:56:37 +0000 (13:56 +0000)] 
Fix for hGetBufSome

9 years agoimprove the documentation for throwTo and killThread (#3884)
Simon Marlow [Wed, 5 May 2010 13:56:00 +0000 (13:56 +0000)] 
improve the documentation for throwTo and killThread (#3884)

9 years agoelaborate the docs for unsafePerformIO a bit
Simon Marlow [Wed, 5 May 2010 10:12:49 +0000 (10:12 +0000)] 
elaborate the docs for unsafePerformIO a bit

9 years agoadd Typeable instance
Simon Marlow [Tue, 4 May 2010 15:28:15 +0000 (15:28 +0000)] 
add Typeable instance

9 years agoAdd hGetBufSome, like hGetBuf but can return short reads
Simon Marlow [Tue, 4 May 2010 15:27:59 +0000 (15:27 +0000)] 
Add hGetBufSome, like hGetBuf but can return short reads

9 years agoAdd swap (#3298)
Simon Marlow [Tue, 4 May 2010 09:53:39 +0000 (09:53 +0000)] 
Add swap (#3298)

9 years agoinline allocaArray0, to fix withCString benchmark
Simon Marlow [Fri, 23 Apr 2010 12:47:29 +0000 (12:47 +0000)] 
inline allocaArray0, to fix withCString benchmark

9 years agoraise asynchronous exceptions asynchronously (#3997)
Simon Marlow [Wed, 21 Apr 2010 09:49:32 +0000 (09:49 +0000)] 
raise asynchronous exceptions asynchronously (#3997)

9 years agoadd NOINLINE pragmas for stdin/stdout/stderr
Simon Marlow [Wed, 21 Apr 2010 08:20:41 +0000 (08:20 +0000)] 
add NOINLINE pragmas for stdin/stdout/stderr

9 years agoINLINE alloca and malloc
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

9 years agoMove comment closer to the offending line
Matthias Kilian [Mon, 19 Apr 2010 15:54:21 +0000 (15:54 +0000)] 
Move comment closer to the offending line

9 years agoIgnore the return code of c_fcntl_write again
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

9 years agoFix bitrot in IO debugging code
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.

9 years agoTiny code tidy-up
Ian Lynagh [Tue, 13 Apr 2010 01:11:47 +0000 (01:11 +0000)] 
Tiny code tidy-up

9 years agoremove old/wrong comment
Simon Marlow [Thu, 25 Mar 2010 16:14:03 +0000 (16:14 +0000)] 
remove old/wrong comment

9 years agowithThread: block asynchronous exceptions before installing exception handler.
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.

9 years agorunInUnboundThread: block asynchronous exceptions before installing exception handler
Bas van Dijk [Mon, 29 Mar 2010 13:15:49 +0000 (13:15 +0000)] 
runInUnboundThread: block asynchronous exceptions before installing exception handler

9 years agofix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle)
Simon Marlow [Tue, 30 Mar 2010 12:11:37 +0000 (12:11 +0000)] 
fix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle)

9 years agoMake SampleVar an abstract newtype
Bas van Dijk [Thu, 18 Mar 2010 20:03:49 +0000 (20:03 +0000)] 
Make SampleVar an abstract newtype

9 years agoFix bugs regarding asynchronous exceptions and laziness in Control.Concurrent.SampleVar
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

9 years agoWrite the thunk 'next' to the MVar
Bas van Dijk [Fri, 19 Mar 2010 12:59:51 +0000 (12:59 +0000)] 
Write the thunk 'next' to the MVar

9 years agochange to use STM, fixing 4 things
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.

9 years agoTweak docs
Ian Lynagh [Fri, 12 Mar 2010 21:41:29 +0000 (21:41 +0000)] 
Tweak docs

9 years agoFixed dead links in documentation of forkIO
Bas van Dijk [Mon, 8 Mar 2010 22:24:15 +0000 (22:24 +0000)] 
Fixed dead links in documentation of forkIO

9 years agoDocumentation fixes in Control.Exception
Bas van Dijk [Mon, 1 Mar 2010 22:04:42 +0000 (22:04 +0000)] 
Documentation fixes in Control.Exception

9 years agoPlug two race conditions that could lead to deadlocks in the IO manager
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

9 years agoFIX #3866: improve documentation of Data.Data.Constr
jpm@cs.uu.nl [Wed, 24 Feb 2010 12:55:06 +0000 (12:55 +0000)] 
FIX #3866: improve documentation of Data.Data.Constr

9 years agoUNDO: Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
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)

9 years agoPut the complexity in the length docs. Fixes trac #3680
Ian Lynagh [Sun, 21 Feb 2010 19:14:25 +0000 (19:14 +0000)] 
Put the complexity in the length docs. Fixes trac #3680

9 years agonhc98 should build Data.Functor.
Malcolm.Wallace@cs.york.ac.uk [Sun, 21 Feb 2010 16:32:18 +0000 (16:32 +0000)] 
nhc98 should build Data.Functor.

9 years agoUpdate the exitWith docs
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>

9 years agoHandle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
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)

9 years agoFor nhc98, import unsafeInterleaveIO rather than defining it here.
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.

9 years agoStifle warning about unused return value
benl@cse.unsw.edu.au [Wed, 3 Feb 2010 02:55:37 +0000 (02:55 +0000)] 
Stifle warning about unused return value

9 years agofix #3832: use the locale encoding in openTempFile
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.

10 years agoFix the build: export void, so it doesn't give an unused binding warning
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

10 years agohIsEOF: don't do any decoding (#3808)
Simon Marlow [Tue, 12 Jan 2010 23:03:17 +0000 (23:03 +0000)] 
hIsEOF: don't do any decoding (#3808)

10 years agoControl.Monad: +void :: f a -> f ()
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-().

10 years agoReplace the implementation of mergesort with a 2x faster one.
Malcolm.Wallace@cs.york.ac.uk [Thu, 24 Dec 2009 15:20:14 +0000 (15:20 +0000)] 
Replace the implementation of mergesort with a 2x faster one.
See ticket http://hackage.haskell.org/trac/ghc/ticket/2143.

10 years agoRestore previous Data.Typeable.typeOf*Default implementations for non-ghc.
Malcolm.Wallace@cs.york.ac.uk [Wed, 23 Dec 2009 14:26:25 +0000 (14:26 +0000)] 
Restore previous Data.Typeable.typeOf*Default implementations for non-ghc.
Not all compilers have ScopedTypeVariables.

10 years agoAdd comments about double bounds-checking, and fast paths for rectangular arrays
simonpj@microsoft.com [Fri, 18 Dec 2009 16:56:55 +0000 (16:56 +0000)] 
Add comments about double bounds-checking, and fast paths for rectangular arrays

See Note [Double bounds-checking of index values] for the details.

The fast paths omit the doubled checks for cases we know about

10 years agoFix Trac #3245: memoising typeOf
simonpj@microsoft.com [Fri, 18 Dec 2009 15:51:17 +0000 (15:51 +0000)] 
Fix Trac #3245: memoising typeOf

The performance bug in #3245 was caused by computing the typeRep
once for each call of typeOf, rather than once for each dictionary
contruction.  (Computing TypeReps is reasonably expensive, because
of the hash-consing machinery.)

This is readily fixed by putting the TypeRep construction outside
the lambda.  (Arguably GHC might have worked that out itself,
but it involves floating something between a type lambda and a
value lambda, which GHC doesn't currently do. If it happens a lot
we could fix that.)

10 years agoMark 'index' as INLINE in GHC.Arr
simonpj@microsoft.com [Wed, 16 Dec 2009 17:04:41 +0000 (17:04 +0000)] 
Mark 'index' as INLINE in GHC.Arr

This makes indexing much faster. See Trac #1216