Ticket #4159: base.patch

File base.patch, 35.5 KB (added by ross, 3 years ago)
Line 
11 patch for repository darcs.haskell.org:/srv/darcs/packages/base:
2
3Sun Jun 27 14:22:40 BST 2010  Ross Paterson <ross@soi.city.ac.uk>
4  * move Monad and MonadFix instances for Either from mtl
5
6New patches:
7
8[move Monad and MonadFix instances for Either from mtl
9Ross Paterson <ross@soi.city.ac.uk>**20100627132240
10 Ignore-this: 2f4b0656188fdbd6e586f8718351465e
11] {
12hunk ./Control/Monad/Fix.hs 81
13 instance MonadFix IO where
14     mfix = fixIO
15 
16+-- Prelude types with Monad instances in Control.Monad.Instances
17+
18 instance MonadFix ((->) r) where
19     mfix f = \ r -> let a = f a r in a
20 
21hunk ./Control/Monad/Fix.hs 86
22+instance MonadFix (Either e) where
23+    mfix f = let a = f (unRight a) in a
24+             where unRight (Right x) = x
25+                   unRight (Left  _) = error "mfix Either: Left"
26+
27 #if defined(__GLASGOW_HASKELL__)
28 instance MonadFix (ST s) where
29         mfix = fixST
30hunk ./Control/Monad/Instances.hs 35
31         fmap _ (Left x) = Left x
32         fmap f (Right y) = Right (f y)
33 
34+instance Monad (Either e) where
35+        return = Right
36+        Left  l >>= _ = Left l
37+        Right r >>= k = k r
38+
39}
40
41Context:
42
43[Fix haddock formatting
44Ian Lynagh <igloo@earth.li>**20100625222623]
45[Give nub's complexity in the haddock docs; fixes #4086
46Ian Lynagh <igloo@earth.li>**20100625222059]
47[correct docs for exitWith: only stdout/stderr are flushed, not all Handles
48Simon Marlow <marlowsd@gmail.com>**20100624130506
49 Ignore-this: 33a938dad8f0bc061572e2ec571cacc7
50]
51[fix docs for isSpace
52Simon Marlow <marlowsd@gmail.com>**20100624130444
53 Ignore-this: b35ff080dbb9833176f08e39dbd9ff6d
54]
55[make the hGetBuf/hPutBuf family work with non-FD Handles (#4144)
56Simon Marlow <marlowsd@gmail.com>**20100624130425
57 Ignore-this: 8200f0208a9b1b1cf4824f343d75819a
58]
59[nit in docs for accumArray
60Simon Marlow <marlowsd@gmail.com>**20100622121131
61 Ignore-this: c066a456c40907e767df10c3990f35ff
62]
63[add doc for the ExitCode type
64Simon Marlow <marlowsd@gmail.com>**20100622120930
65 Ignore-this: 99c34332be7f3565da844528b470054a
66]
67[remove extraneous info from docs for Array
68Simon Marlow <marlowsd@gmail.com>**20100622120921
69 Ignore-this: e2a3f5e84fc23eb7bae911f0680e805e
70]
71[add an INLINE to the list version of traverse, to enable fusion
72Simon Marlow <marlowsd@gmail.com>**20100608082531
73 Ignore-this: ea98cdc3308b406bb04c0f7a38c4424b
74]
75[Don't define the C localeEncoding on Windows
76Ian Lynagh <igloo@earth.li>**20100620202342
77 Ignore-this: c4992f6832a391b0cccc5a9b7d643976
78 (it causes warnings, and isn't used)
79]
80[add Applicative instance for Either (proposal #4095)
81Ross Paterson <ross@soi.city.ac.uk>**20100617225110
82 Ignore-this: 50262ec4700dc16efec5755be5b308c5
83 
84 This is not the only possible instance for Either, but this one is
85 compatible with the usual Monad instance.
86]
87[Use libcharset instead of nl_langinfo(CODESET) if possible.
88pho@cielonegro.org**20100519013112
89 Ignore-this: 4c1e278e022a3d276848afc1dcba4425
90 
91 nl_langinfo(CODESET) doesn't always return standardized variations of the encoding names. Use libcharset if possible, which is shipped together with GNU libiconv.
92]
93[Add a note about the interruptibility of throwTo.
94Simon Marlow <marlowsd@gmail.com>**20100615112720
95 Ignore-this: ae9fabe95310d7c364e95f7784793485
96]
97[docs: note that hGetBufNonBlocking isn't non-blocking on Windows
98Simon Marlow <marlowsd@gmail.com>**20100615112547
99 Ignore-this: 4f3e5213e142149affe08c5123d6efea
100]
101[don't depend on Prelude (#4122)
102Simon Marlow <marlowsd@gmail.com>**20100615105631
103 Ignore-this: 1a3fd49b103fe31cbb453f302c18767f
104]
105[Don't depend on Prelude (#4123)
106Simon Marlow <marlowsd@gmail.com>**20100615105401
107 Ignore-this: cc7616d85a1637bc7621b4f2bc181c0e
108]
109[bump version to 4.3.0.0, added instance MonadPlus STM
110Simon Marlow <marlowsd@gmail.com>**20100601144831
111 Ignore-this: 7c3cf7574499c4267372493f2636dc0
112]
113[Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orphaned instance
114Bas van Dijk <v.dijk.bas@gmail.com>**20100516160651
115 Ignore-this: 651b852942b2fae2b93f996e39239b8f
116]
117[Added Applicative and Alternative instances for STM
118Bas van Dijk <v.dijk.bas@gmail.com>**20100516171756
119 Ignore-this: 567003bc4040bc97105cda4d31ebf04a
120]
121[expand Foldable instance for Array
122Ross Paterson <ross@soi.city.ac.uk>**20100602212154
123 Ignore-this: 9bd9e9666a9400431eb92352244fe7e7
124]
125[doc comment illustrating Foldable(foldr)
126Ross Paterson <ross@soi.city.ac.uk>**20100527150833
127 Ignore-this: 8f27d889379803f3ba86d6e928428f3c
128]
129[fix syntax in doc comments
130Ross Paterson <ross@soi.city.ac.uk>**20100527150757
131 Ignore-this: cb78da51d60ff6863dc395f1a892c103
132]
133[export hGetBufSome (#4046)
134Simon Marlow <marlowsd@gmail.com>**20100520093538
135 Ignore-this: f467fad9722e27edfad6b3dd75290e7b
136]
137[hWaitForInput: don't try to read from the device (#4078)
138Simon Marlow <marlowsd@gmail.com>**20100517133741
139 Ignore-this: 55ec33b03397380259b91e4ca62207a6
140 readTextDeviceNonBlocking is not non-blocking on Windows
141]
142[hSetEncoding: change the encoding on both read and write sides (#4066)
143Simon Marlow <marlowsd@gmail.com>**20100514124628
144 Ignore-this: 5b9e9caef06356d0296c584159709ebb
145]
146[Correct haddock formatting.
147Adam Vogt <vogt.adam@gmail.com>**20100423022103
148 Ignore-this: d2622339302048fda48080f7d5ce4a2f
149]
150[Fix for hGetBufSome
151Simon Marlow <marlowsd@gmail.com>**20100505135637
152 Ignore-this: 2019680f8fb223956cacfcf0d046f133
153]
154[improve the documentation for throwTo and killThread (#3884)
155Simon Marlow <marlowsd@gmail.com>**20100505135600
156 Ignore-this: ce881d96ddb729acb6ca09c779975e7d
157]
158[elaborate the docs for unsafePerformIO a bit
159Simon Marlow <marlowsd@gmail.com>**20100505101249
160 Ignore-this: 1cec3f67560b672c64c5a0dcf9a79eb7
161]
162[add Typeable instance
163Simon Marlow <marlowsd@gmail.com>**20100504152815
164 Ignore-this: 6d9cf9d62f0ef17fa459bf213a04098
165]
166[Add hGetBufSome, like hGetBuf but can return short reads
167Simon Marlow <marlowsd@gmail.com>**20100504152759
168 Ignore-this: 195c905b43f8d9505029364e2c5b18e
169]
170[Add swap (#3298)
171Simon Marlow <marlowsd@gmail.com>**20100504095339
172 Ignore-this: 13b007dc4594ce252997ec6fa0bbd976
173]
174[inline allocaArray0, to fix withCString benchmark
175Simon Marlow <marlowsd@gmail.com>**20100423124729
176 Ignore-this: 35c96816acc2f3aaf9dd29f7995fa6f0
177]
178[raise asynchronous exceptions asynchronously (#3997)
179Simon Marlow <marlowsd@gmail.com>**20100421094932
180 Ignore-this: 6d987d93d382c0f69c68c326312abd6b
181]
182[add NOINLINE pragmas for stdin/stdout/stderr
183Simon Marlow <marlowsd@gmail.com>**20100421082041
184 Ignore-this: 3fc130268ec786f28d945858d6690986
185]
186[INLINE alloca and malloc
187Simon Marlow <marlowsd@gmail.com>**20100419135333
188 Ignore-this: b218bd611f18721b1505a8c0b9e6a16a
189 See discussion on glasgow-haskell-users:
190   http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018740.html
191]
192[Move comment closer to the offending line
193Matthias Kilian <kili@outback.escape.de>**20100419155421
194 Ignore-this: b34a1d7affd66f67d210df2377b585d9
195]
196[Ignore the return code of c_fcntl_write again
197Matthias Kilian <kili@outback.escape.de>**20100415140452
198 Ignore-this: 266d8ba02cc3cb79c85629b3528261c9
199 
200 The return code has been ignored in the past on purpose, because
201 O_NONBLOCK will fail on BSDs for some special files. This fixes the
202 problem mentioned in
203 http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018698.html
204 
205]
206[Fix bitrot in IO debugging code
207Ian Lynagh <igloo@earth.li>**20100413134339
208 Also switched to using Haskell Bools (rather than CPP) to en/disable it,
209 so it shouldn't break again in the future.
210]
211[Tiny code tidy-up
212Ian Lynagh <igloo@earth.li>**20100413011147]
213[remove old/wrong comment
214Simon Marlow <marlowsd@gmail.com>**20100325161403
215 Ignore-this: e6e377d44af48c4162d17d55bdf3f821
216]
217[withThread: block asynchronous exceptions before installing exception handler.
218Bas van Dijk <v.dijk.bas@gmail.com>**20100329131624
219 Ignore-this: be5aeb47dbd73807b5f94df11afbb81c
220 Note that I don't unblock the given io computation. Because AFAICS
221 withThread is only called with 'waitFd' which only performs an FFI
222 call which can't receive asynchronous exceptions anyway.
223]
224[runInUnboundThread: block asynchronous exceptions before installing exception handler
225Bas van Dijk <v.dijk.bas@gmail.com>**20100329131549
226 Ignore-this: a00c5e32fe3981ff87bedd367a69051e
227]
228[fix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle)
229Simon Marlow <marlowsd@gmail.com>**20100330121137
230 Ignore-this: 4ca8500a01ac93454507aa8f9dd001f9
231]
232[Make SampleVar an abstract newtype
233Bas van Dijk <v.dijk.bas@gmail.com>**20100318200349
234 Ignore-this: 27939e2a064b75e71cb146117346be30
235]
236[Fix bugs regarding asynchronous exceptions and laziness in Control.Concurrent.SampleVar
237Bas van Dijk <v.dijk.bas@gmail.com>**20100318200104
238 Ignore-this: 7376b2a3afe155daf233a8f1ddc0a7a
239  - Block asynchronous exceptions at the right places
240  - Force thunks before putting them in a MVar
241]
242[Write the thunk 'next' to the MVar
243Bas van Dijk <v.dijk.bas@gmail.com>**20100319125951
244 Ignore-this: dd25636cf220131385ff2fd32493d456
245]
246[change to use STM, fixing 4 things
247Simon Marlow <marlowsd@gmail.com>**20100318104436
248 Ignore-this: 551d30280a7941c08f5c3b14576bdd70
249   1. there was no async exception protection
250   2. there was a space leak (now new value is strict)
251   3. using atomicModifyIORef would be slightly quicker, but can
252      suffer from adverse scheduling issues (see #3838)
253   4. also, the STM version is faster.
254]
255[Tweak docs
256Ian Lynagh <igloo@earth.li>**20100312214129]
257[Fixed dead links in documentation of forkIO
258Bas van Dijk <v.dijk.bas@gmail.com>**20100308222415
259 Ignore-this: 7deb8fd064c867fbede2a6b2e9da4f15
260]
261[Documentation fixes in Control.Exception
262Bas van Dijk <v.dijk.bas@gmail.com>**20100301220442
263 Ignore-this: 761fcba401cbd1f47276ddfc9b5b80f2
264]
265[Plug two race conditions that could lead to deadlocks in the IO manager
266Simon Marlow <marlowsd@gmail.com>**20100225120255
267 Ignore-this: e6983d6b953104d370278ab3e4617e8b
268]
269[FIX #3866: improve documentation of Data.Data.Constr
270jpm@cs.uu.nl**20100224125506
271 Ignore-this: 3818c5d8fee012a3cf322fb455b6e5dc
272]
273[UNDO: Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
274Simon Marlow <marlowsd@gmail.com>**20100223101603
275 Ignore-this: 78becb2d39b3cd9a1a473a5811ca7d92
276]
277[Put the complexity in the length docs. Fixes trac #3680
278Ian Lynagh <igloo@earth.li>**20100221191425]
279[nhc98 should build Data.Functor.
280Malcolm.Wallace@cs.york.ac.uk**20100221163218]
281[Update the exitWith docs
282Ian Lynagh <igloo@earth.li>**20100213140004
283 Error pointed out by Volker Wysk <vw@volker-wysk.de>
284]
285[Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
286Simon Marlow <marlowsd@gmail.com>**20100211101955
287 Ignore-this: 261415363303efca265e80290eac5f28
288]
289[For nhc98, import unsafeInterleaveIO rather than defining it here.
290Malcolm.Wallace@cs.york.ac.uk**20100204171021]
291[Stifle warning about unused return value
292benl@cse.unsw.edu.au**20100203025537]
293[fix #3832: use the locale encoding in openTempFile
294Simon Marlow <marlowsd@gmail.com>**20100120211830
295 Ignore-this: df4f778cc5fefb32290c798db722632c
296 Also while I was here fix an XXX: the Handle contained an
297 uninformative string like <fd: 4> for error messages rather than the
298 real file path.
299]
300[Fix the build: export void, so it doesn't give an unused binding warning
301Ian Lynagh <igloo@earth.li>**20100116174451]
302[hIsEOF: don't do any decoding (#3808)
303Simon Marlow <marlowsd@gmail.com>**20100112230317
304 Ignore-this: 6a384dd2d547ffe3ad3762920e5c1671
305]
306[Control.Monad: +void :: f a -> f ()
307gwern0@gmail.com**20100108214455
308 Ignore-this: 4dc07452315f2d1b4941903ff42fc45f
309 See http://hackage.haskell.org/trac/ghc/ticket/3292
310 Turns m a -> m (). Lets one call functions for their side-effects without
311 having to get rid of their return values with '>> return ()'. Very useful
312 in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_',
313 as they demand return types of 'IO ()' though most interesting IO functions
314 return non-().
315]
316[Replace the implementation of mergesort with a 2x faster one.
317Malcolm.Wallace@cs.york.ac.uk**20091224152014
318 See ticket http://hackage.haskell.org/trac/ghc/ticket/2143.
319]
320[Restore previous Data.Typeable.typeOf*Default implementations for non-ghc.
321Malcolm.Wallace@cs.york.ac.uk**20091223142625
322 Not all compilers have ScopedTypeVariables.
323]
324[Add comments about double bounds-checking, and fast paths for rectangular arrays
325simonpj@microsoft.com**20091218165655
326 Ignore-this: ea0849419dc00927aba4bd410b1cc58d
327 
328 See Note [Double bounds-checking of index values] for the details.
329 
330 The fast paths omit the doubled checks for cases we know about
331]
332[Fix Trac #3245: memoising typeOf
333simonpj@microsoft.com**20091218155117
334 Ignore-this: 5a178a7f2222293c5ee0c3c43bd1b625
335 
336 The performance bug in #3245 was caused by computing the typeRep
337 once for each call of typeOf, rather than once for each dictionary
338 contruction.  (Computing TypeReps is reasonably expensive, because
339 of the hash-consing machinery.)
340 
341 This is readily fixed by putting the TypeRep construction outside
342 the lambda.  (Arguably GHC might have worked that out itself,
343 but it involves floating something between a type lambda and a
344 value lambda, which GHC doesn't currently do. If it happens a lot
345 we could fix that.)
346]
347[Mark 'index' as INLINE in GHC.Arr
348simonpj@microsoft.com**20091216170441
349 Ignore-this: a4df9d8acf496c8e0e9ce5a520509a2a
350 
351 This makes indexing much faster. See Trac #1216
352]
353[Comment the remaining orphan instance modules
354Ian Lynagh <igloo@earth.li>**20091206125021]
355[De-orphan Eq/Ord Float/Double
356Ian Lynagh <igloo@earth.li>**20091205181238]
357[Add comments to "OPTIONS_GHC -fno-warn-orphans" pragmas
358Ian Lynagh <igloo@earth.li>**20091205165854]
359[Data.Either.partitionEithers was insufficiently lazy.
360Malcolm.Wallace@cs.york.ac.uk**20091202032807
361 Ignore-this: 77e1b3288f66608c71458d8a91bcbe12
362 Spotted by Daniel Fischer.
363]
364[fix the docs regarding finalizer guarantees
365Simon Marlow <marlowsd@gmail.com>**20091130144409
366 Ignore-this: d1ab9532c74a002b8075ff60febcbe2d
367]
368[x86_64 requires more stack
369Malcolm.Wallace@cs.york.ac.uk**20091201033745]
370[check for size < 0 in mallocForeignPtrBytes and friends (#3514)
371Simon Marlow <marlowsd@gmail.com>**20091125143822
372 Ignore-this: 91077d01da2bbe1dfed5155e8b40da9
373]
374[hGetContents: close the handle properly on error
375Simon Marlow <marlowsd@gmail.com>**20091125123435
376 Ignore-this: bc37ff678acc6e547dc390285e056eb9
377 
378 When hGetContents caught an error it was closing the handle and then
379 throwing the exception, without updating the handle with the new
380 closed state.  This lead to a double-closed, which was the cause of
381 
382 *** glibc detected *** ./Setup: double free or corruption
383 
384 when iconv_close was called twice on the decoder.
385 
386 See http://hackage.haskell.org/trac/hackage/ticket/609
387]
388[Fix arities of mapFB and zipFB
389Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091126232219
390 Ignore-this: c4e14cd0a92622549c86e67237a40865
391]
392[Remove an unnecessary -fno-warn-orphans flag
393Ian Lynagh <igloo@earth.li>**20091126123404]
394[Tweak layout to work with alternative layout rule
395Ian Lynagh <igloo@earth.li>**20091125232349]
396[Tweak layout to be accepted by the alternative layout rul
397Ian Lynagh <igloo@earth.li>**20091125194147]
398[Make sure zipWithFB has arity 2
399Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091125010003
400 Ignore-this: 4cf60c55666f03d22a9f5a6e07f52d36
401 
402 It gets 2 arguments in the "zipWith" rule but its arity was higher and the new
403 inliner didn't inline it sometimes, for instance here:
404 
405 mpp ::  [Double] -> [Double] -> [Double] -> [Double] -> [Double]
406 mpp as bs cs ds = zipWith (*) (zipWith (+) as bs) (zipWith (+) cs ds)
407 
408 This was a regression vs. 6.10.
409]
410[Remove an old comment
411Ian Lynagh <igloo@earth.li>**20091124134647]
412[De-orphan the Eq/Ord Integer instances
413Ian Lynagh <igloo@earth.li>**20091124133639]
414[Whitespace only
415Ian Lynagh <igloo@earth.li>**20091124133421]
416[Derive some more instances, rather than writing them by hand
417Ian Lynagh <igloo@earth.li>**20091124011747]
418[We can now derive Ord ()
419Ian Lynagh <igloo@earth.li>**20091124011416]
420[De-orphan tuple Eq/Ord instances
421Ian Lynagh <igloo@earth.li>**20091123233343]
422[Control.Exception.Base no longer has any orphans
423Ian Lynagh <igloo@earth.li>**20091123224905]
424[De-orphan the MonadFix ST instance for GHC
425Ian Lynagh <igloo@earth.li>**20091123223544]
426[Rearrange the contents of Control.Monad.ST; no functionality changes
427Ian Lynagh <igloo@earth.li>**20091123222702]
428[De-orphan the Eq/Ord [a] instances
429Ian Lynagh <igloo@earth.li>**20091123215635]
430[De-orphan the Eq/Ord Char instances
431Ian Lynagh <igloo@earth.li>**20091123202253]
432[De-orphan the Eq/Ord Bool instances
433Ian Lynagh <igloo@earth.li>**20091123201817]
434[Move Eq/Ord Ordering instances to de-orphan them
435Ian Lynagh <igloo@earth.li>**20091123194310]
436[Remove ffi warnings for nhc98.
437Malcolm.Wallace@cs.york.ac.uk**20091123063743]
438[Second attempt to fix #1185 (forkProcess and -threaded)
439Simon Marlow <marlowsd@gmail.com>**20091111151915
440 Ignore-this: fa5f5d5e4e080d4b612a37244f937f9c
441 
442 Patch 2/2: first patch is to ghc
443 
444 This time without dynamic linker hacks, instead I've expanded the
445 existing rts/Globals.c to cache more CAFs, specifically those in
446 GHC.Conc.  We were already using this trick for signal handlers, I
447 should have realised before.
448 
449 It's still quite unsavoury, but we can do away with rts/Globals.c in
450 the future when we switch to a dynamically-linked GHCi.
451]
452[Rollback #1185 fix
453Simon Marlow <marlowsd@gmail.com>**20091106140629
454 Ignore-this: cd5667e8474e37e01ba26a1984274811
455 
456 rolling back:
457 
458 Tue Nov  3 16:05:40 GMT 2009  Simon Marlow <marlowsd@gmail.com>
459   * Fix #1185: restart the IO manager after fork()
460   
461   This is the libraries/base part of the patch; there is a corresponding
462   patch to GHC itself.
463   
464   The main change is that we now keep track of the IO manager's ThreadId
465   in a top-level MVar, and ensureIOManagerIsRunning checks whether a
466   previous IO manager thread is alive before starting one.  In the child
467   of fork(), we can hence call ensureIOManagerIsRunning to restart the
468   IO manager.
469 
470     M ./GHC/Conc.lhs -46 +44
471 
472 Wed Nov  4 17:49:45 GMT 2009  Ian Lynagh <igloo@earth.li>
473   * Fix the build on Windows
474 
475     M ./GHC/Conc.lhs -6 +4
476]
477[Fix the build on Windows
478Ian Lynagh <igloo@earth.li>**20091104174945]
479[Fix #1185: restart the IO manager after fork()
480Simon Marlow <marlowsd@gmail.com>**20091103160540
481 Ignore-this: 6dc05464f1500104554637f4759738cc
482 
483 This is the libraries/base part of the patch; there is a corresponding
484 patch to GHC itself.
485 
486 The main change is that we now keep track of the IO manager's ThreadId
487 in a top-level MVar, and ensureIOManagerIsRunning checks whether a
488 previous IO manager thread is alive before starting one.  In the child
489 of fork(), we can hence call ensureIOManagerIsRunning to restart the
490 IO manager.
491]
492[improve the documentation for throwErrnoIfRetry
493Simon Marlow <marlowsd@gmail.com>**20091016112404
494 Ignore-this: b77275cacf730e15757946027168f63e
495]
496[Don't inline unpackFoldrCString ever
497simonpj@microsoft.com**20091029135350
498 Ignore-this: 85d672649b1b776efc7e97500b05d4f9
499]
500[Inline more default methods
501simonpj@microsoft.com**20091029135330
502 Ignore-this: 289c44b0afd6d5631c2a4e0664275ca9
503 
504 Namely Monad: (>>)
505        Eq:    (==), (/=)
506        Num:   (-), negate
507        Real:  quot, rem, div, mod, recip, (/), truncate
508        Float: (**), logBase, sqrt, tan, tanh
509]
510[Move error messages out of INLINEd default methods
511simonpj@microsoft.com**20091029135118
512 Ignore-this: 9e35dc947f94827a3529eb53a41575fd
513 
514 No need to duplicate the error generation!
515]
516[Exploit now-working default-method INLINE pragmas for Data.Bits
517simonpj@microsoft.com**20091029135041
518 Ignore-this: 8adf225f31ca7a3181ee087e9e4fe535
519 
520 * Add INLINE pragmas to default methods for class Bits
521 
522 * Remove redundant instance methods elsewhere, now that
523   the default method will do the job
524]
525[Tidy up and comment imports
526simonpj@microsoft.com**20091029134414
527 Ignore-this: bf2be31035de975d8995e988933cc940
528]
529[Inline foldr and (.) when applied to two arguments not three
530simonpj@microsoft.com**20091029134335
531 Ignore-this: fccb6f3e90e15f44cb465814be85ede2
532 
533 The new INLINE story is (by design) arity-sensitive, so we must
534 put fewer argument on the LHS for foldr and (.)
535]
536[dirUtils.c no longer available
537Malcolm.Wallace@cs.york.ac.uk**20091013093833]
538[Make hGetContents throw an exception if an error is encountered
539Simon Marlow <marlowsd@gmail.com>**20091012152955
540 Ignore-this: 9f7a7176193eab25c9daaacd9261f2de
541 
542 Strictly speaking this breaks Haskell 98 compatibility, which requires
543 hGetContents to just end the lazy stream silently if an error is
544 encountered.  However, for a few reasons we think it will make
545 everyone's life a bit easier if we make this change
546 
547  1. Errors will be a lot more common in GHC 6.12.1, in the form
548     of Unicode decoding errors.
549 
550  2. When Haskell 98 was designed, we didn't know how to throw
551     exceptions from inside lazy I/O, but now we do.
552 
553  3. If anyone is actually relying on the previous behaviour, their
554     code is arguably broken.
555]
556[Re-instate System.Console.Getopt for nhc98 builds.
557Malcolm.Wallace@cs.york.ac.uk**20091013092843
558 Although it was split out of base a while back, that change was
559 reverted for ghc soon afterwards, but nhc98 never noticed.
560]
561[Roll back "Another instance of nhc98's strange import semantics."
562Ian Lynagh <igloo@earth.li>**20091009185618
563 Fri Oct  9 14:50:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
564 GHC (correctly) warns about the unused import, which breaks the validate
565 build.
566]
567[Roll back "Cope with nhc98's (occasionally-strange) import semantics"
568Ian Lynagh <igloo@earth.li>**20091009184704
569 Fri Oct  9 14:43:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
570 GHC (correctly) warns about the unused import, which breaks the validate
571 build.
572]
573[It seems that nhc98 needs defaulting in Data.Fixed.
574Malcolm.Wallace@cs.york.ac.uk**20091009135242]
575[Another instance of nhc98's strange import semantics.
576Malcolm.Wallace@cs.york.ac.uk**20091009135051]
577[Make Data.Functor compatible with non-GHC compilers.
578Malcolm.Wallace@cs.york.ac.uk**20091009134821]
579[Cope with nhc98's (occasionally-strange) import semantics.
580Malcolm.Wallace@cs.york.ac.uk**20091009134351]
581[Fix gratuitous breakage of nhc98 in System.IO.
582Malcolm.Wallace@cs.york.ac.uk**20091009134001]
583[Fix gratuitous breakage of nhc98 in Control.Exception.Base.
584Malcolm.Wallace@cs.york.ac.uk**20091009133615]
585[Fix gratuitous breakage of non-GHC in Data.Fixed.
586Malcolm.Wallace@cs.york.ac.uk**20091009133330]
587[Fix gratuitous breakage for non-GHC in Data.Bits.
588Malcolm.Wallace@cs.york.ac.uk**20091009133257]
589[Use UTF-32LE instead of UTF32LE
590Simon Marlow <marlowsd@gmail.com>**20091006100207
591 Ignore-this: 7f881e36543d250ef848c9f60d67655a
592 The latter is not recognised by some iconv implementations.
593]
594[Strip any Byte Order Mark (BOM) from the front of decoded streams.
595Ben.Lippmeier@anu.edu.au*-20090930084229
596 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
597 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
598 of the stream, but Linux iconv doesn't.
599]
600[use UTF32BE/UTF32LE instead of UCS-4/UCS-4LE
601Simon Marlow <marlowsd@gmail.com>**20091005101554
602 Ignore-this: 2aef5e9bec421e714953b7aa1bdfc1b3
603]
604[Strip any Byte Order Mark (BOM) from the front of decoded streams.
605Ben.Lippmeier@anu.edu.au**20090930084229
606 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
607 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
608 of the stream, but Linux iconv doesn't.
609]
610[Add traceEvent :: String -> IO ()
611Simon Marlow <marlowsd@gmail.com>**20090925141257
612 Ignore-this: 8b1888bbf9682ffba13f815b6000e4b1
613 For emitting an event via the RTS tracing framework
614]
615[Fix the error message when flushing the read buffer of a non-seekable Handle
616Simon Marlow <marlowsd@gmail.com>**20090923090536
617 Ignore-this: 4342026df93759d99480f4e13f80a492
618]
619[Fix #3534: No need to flush the byte buffer when setting binary mode
620Simon Marlow <marlowsd@gmail.com>**20090923090445
621 Ignore-this: 625817ed7ae2c12291eb993a99dc640a
622]
623[Use let !y = x in .. x .. instead of seq in $! and evaluate (#2273)
624Simon Marlow <marlowsd@gmail.com>**20090916140454]
625[On Windows, use the console code page for text file encoding/decoding.
626Judah Jacobson <judah.jacobson@gmail.com>**20090913022126
627 Ignore-this: 86c2f2db8ef92b751599795d3195187b
628 
629 We keep all of the code page tables in the module
630 GHC.IO.Encoding.CodePage.Table.  That file was generated automatically
631 by running codepages/MakeTable.hs; more details are in the comments at the
632 start of that script.
633 
634 Storing the lookup tables adds about 40KB to each statically linked executable;
635 this only increases the size of a "hello world" program by about 7%.
636 
637 Currently we do not support double-byte encodings (Chinese/Japanese/Korean), since
638 including those codepages would increase the table size to 400KB.  It will be
639 straightforward to implement them once the work on library DLLs is finished.
640]
641[make some Applicative functions into methods, and split off Data.Functor (proposal #3335)
642Ross Paterson <ross@soi.city.ac.uk>**20090915173109
643 Ignore-this: a0cff4de6dfdbcbd56a66101bc4855a9
644 
645 The following functions
646 
647     (<$) :: Functor f => a -> f b -> f a
648     (*>) :: Applicative f => f a -> f b -> f b
649     (<*) :: Applicative f => f a -> f b -> f a
650     some :: Alternative f => f a -> f [a]
651     many :: Alternative f => f a -> f [a]
652 
653 are moved into the corresponding classes, with the existing implementations
654 as default definitions.  This gives people creating instances the option of
655 defining specialized implementations of these functions, though they should
656 be equivalent to the default definitions.
657 
658 Although (<$) is now a method of the Functor class, it is hidden in the
659 re-export by the Prelude, Control.Monad and Monad.  The new module
660 Data.Functor exposes the full class, plus the function (<$>).  These are
661 also re-exported by Control.Applicative.
662]
663[Fix "init" docs: the input list need not be finite. Fixes trac #3465
664Ian Lynagh <igloo@earth.li>**20090911210437]
665[Bump base version to 4.2.0.0
666Ian Lynagh <igloo@earth.li>**20090911153913]
667[Address #3310
668Simon Marlow <marlowsd@gmail.com>**20090830152850
669 Ignore-this: 40c7f7c171ee299a83092fd360a952b7
670 
671  - Rename BlockedOnDeadMVar   -> BlockedIndefinitelyOnMVar
672  - Rename BlockedIndefinitely -> BlockedIndefinitelyOnSTM
673  - instance Show BlockedIndefinitelyOnMVar is now
674      "blocked indefinitely in an MVar operation"
675  - instance Show BlockedIndefinitelyOnSTM is now
676      "blocked indefinitely in an STM transaction"
677 
678 clients using Control.OldException will be unaffected (the new
679 exceptions are mapped to the old names).  However, for base4-compat
680 we'll need to make a version of catch/try that does a similar
681 mapping.
682]
683[Fix unicode conversion for MSB architectures
684Ben.Lippmeier@anu.edu.au**20090830130028
685 This fixes the SPARC/Solaris build.
686]
687[Fix #3441: detect errors in partial sequences
688Simon Marlow <marlowsd@gmail.com>**20090830075909
689 Ignore-this: d12a75d95e0cae5eb1555266810ec281
690]
691[Fix hWaitForInput
692Simon Marlow <marlowsd@gmail.com>**20090827152116
693 Ignore-this: 2550e911f1a4d4357a5aa8d1764238ce
694 It was erroneously waiting when there were bytes to decode waiting in
695 the byte buffer.
696]
697[fix debugging code
698Simon Marlow <marlowsd@gmail.com>**20090827150628
699 Ignore-this: e1c82fdc19a22e247cd69ff6fa11921d
700]
701[Allow for configurable iconv include and library locations.
702Matthias Kilian <kili@outback.escape.de>**20090826154406
703 Ignore-this: be95fab611a5534cf184b508964ed498
704 This should help to fix the build on OpenBSD.
705]
706[typo in comment
707Simon Marlow <marlowsd@gmail.com>**20090826085252
708 Ignore-this: 1903ee0f354157a6ed3871c100f6b1b9
709]
710[un-hide some modules from the Haddock docs
711Simon Marlow <marlowsd@gmail.com>**20090825152457
712 Ignore-this: dce6606f93cf977fb24ebe99082dfa62
713]
714[Apply fix for #1548, from squadette@gmail.com
715Simon Marlow <marlowsd@gmail.com>**20090819120700
716 Ignore-this: 31c237c46a6445f588ed4b8c51bb6231
717]
718[improvements to Data.Fixed: instances for Typeable and Data, more predefined types
719Ashley Yakeley <ashley@semantic.org>**20090812055058
720 Ignore-this: feeece36d5632f02a05d137d2a39ab78
721]
722[Fix "Cabal check" warnings
723Ian Lynagh <igloo@earth.li>**20090811215856]
724[Add a GHC.Constants module; fixes trac #3094
725Ian Lynagh <igloo@earth.li>**20090809183252]
726[Apply proposal #3393
727Ian Lynagh <igloo@earth.li>**20090809134717
728 Add openTempFileWithDefaultPermissions and
729 openBinaryTempFileWithDefaultPermissions.
730]
731[Add some more C wrappers; patch from Krister Walfridsson
732Ian Lynagh <igloo@earth.li>**20090807200631
733 Fixes 21 testsuite errors on NetBSD 5.99.
734]
735[Fixing configure for autoconf 2.64
736Alexander Dunlap <alexander.dunlap@gmail.com>**20090805060748
737 Ignore-this: 992ab91ae3d68c12dbb265776e33e243
738]
739[add INLINE toList
740Ross Paterson <ross@soi.city.ac.uk>**20090806142853
741 Ignore-this: aba16aabb17d5dca44f15d188945680e
742 
743 In anticipation of the fixing of #2353.
744]
745[fix a copyright
746Simon Marlow <marlowsd@gmail.com>**20090805134045
747 Ignore-this: b0ffbdd38fbba121e8bcba37c4082a60
748]
749[Tweak the BufferedIO class to enable a memory-mapped file implementation
750Simon Marlow <marlowsd@gmail.com>**20090805134036
751 Ignore-this: ec67d7a0a6d977438deaa342503f77e0
752 We have to eliminate the assumption that an empty write buffer can be
753 constructed by setting the buffer pointers to zero: this isn't
754 necessarily the case when the buffer corresponds to a memory-mapped
755 file, or other in-memory device implementation.
756]
757[Deprecate Control.OldException
758Ian Lynagh <igloo@earth.li>**20090804143910]
759[Windows build fix, following RTS tidyup
760Simon Marlow <marlowsd@gmail.com>**20090803131121
761 Ignore-this: ce862fb91c2b234211a8757f98690778
762]
763[Updates to follow the RTS tidyup
764Simon Marlow <marlowsd@gmail.com>**20090801220743
765 Ignore-this: 6e92412df93a66c12d75344053d5634
766 C functions like isDoubleNaN moved here (primFloat.c)
767]
768[Add integer-simple as a build option
769Ian Lynagh <igloo@earth.li>**20090722013151]
770[Use shift[LR]Integer in the Bits Integer instance
771Ian Lynagh <igloo@earth.li>**20090721222440]
772[depend directly on integer-gmp, rather than indirecting through integer
773Ian Lynagh <igloo@earth.li>**20090721185228]
774[Move the instances of Functor and Monad IO to GHC.Base, to avoid orphans
775Simon Marlow <marlowsd@gmail.com>**20090722102130
776 Ignore-this: a7d85ac0025d559674249de0108dbcf4
777]
778[move "instance Exception Dynamic" so it isn't an orphan
779Simon Marlow <marlowsd@gmail.com>**20090721093854
780 Ignore-this: 5ede91ecfec2112c91b699d4de87cd02
781]
782[Improve the index checking for array accesses; fixes #2120 #2669
783Ian Lynagh <igloo@earth.li>**20090719153228
784 As well as checking that offset we are reading is actually inside the
785 array, we now also check that it is "in range" as defined by the Ix
786 instance. This fixes confusing behaviour (#2120) and improves some error
787 messages (#2669).
788]
789[Make chr say what its argument was, if it's a bad argument
790Ian Lynagh <igloo@earth.li>**20090718151049]
791[remove unused warning
792Simon Marlow <marlowsd@gmail.com>**20090715124416
793 Ignore-this: 31f613654089d0f4a44363946087b41e
794]
795[warning fix: -fno-implicit-prelude -> -XNoImplicitPrelude
796Simon Marlow <marlowsd@gmail.com>**20090715122839
797 Ignore-this: dc8957249731d5bcb71c01899e5adf2b
798]
799[Add hGetEncoding :: Handle -> IO (Maybe TextEncoding)
800Simon Marlow <marlowsd@gmail.com>**20090715122519
801 Ignore-this: 14c3eff996db062da1199739781e4708
802 as suggested during the discussion on the libraries list
803]
804[Add more documentation to mkTextEncoding
805Simon Marlow <marlowsd@gmail.com>**20090715122414
806 Ignore-this: 97253b2624267df3a246a18121e8ea81
807 noting that "//IGNORE" and "//TRANSLIT" suffixes can be used with GNU
808 iconv.
809]
810[Add the utf8_bom codec
811Simon Marlow <marlowsd@gmail.com>**20090715122257
812 Ignore-this: 1c9396cd805201fe873a39382ced79c7
813 as suggested during the discussion on the libraries list.
814]
815[Export Unicode and newline functionality from System.IO; update Haddock docs
816Simon Marlow <marlowsd@gmail.com>**20090713113104
817 Ignore-this: c3f017a555335aa55d106253393f72e2
818]
819[add a comment about the non-workingness of CHARBUF_UTF16
820Simon Marlow <marlowsd@gmail.com>**20090707124406
821 Ignore-this: 98d00411b68d688b3b4cffc9507b1f35
822]
823[Fix build on Windows
824Ian Lynagh <igloo@earth.li>**20090711004351]
825[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
826Ian Lynagh <igloo@earth.li>**20090710204513]
827[Use throwErrnoIfMinus1_ when calling getrusage
828Ian Lynagh <igloo@earth.li>**20090710204221]
829[Remove an unused import
830Ian Lynagh <igloo@earth.li>**20090710153345]
831[reportStackOverflow now returns IO ()
832Ian Lynagh <igloo@earth.li>**20090710153257
833 It used to do "return undefined" to return IO a.
834]
835[GHC.Conc.reportError now returns IO ()
836Ian Lynagh <igloo@earth.li>**20090710152646
837 It used to return IO a, by "return undefined".
838]
839[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
840Ian Lynagh <igloo@earth.li>**20090710152526]
841[Minor SampleVar refactoring
842Ian Lynagh <igloo@earth.li>**20090710151438]
843[Fix "warn-unused-do-bind" warnings in GHC/IO/Handle/Text.hs
844Ian Lynagh <igloo@earth.li>**20090710122905]
845[Fix some "warn-unused-do-bind" warnings where we just want to ignore the result
846Ian Lynagh <igloo@earth.li>**20090710005638]
847[Use the result of writeCharBuf in GHC/IO/Encoding/Latin1.hs too
848Ian Lynagh <igloo@earth.li>**20090710004032]
849[Minor code tidyups in GHC.Conc
850Ian Lynagh <igloo@earth.li>**20090710003801]
851[Fix "warn-unused-do-bind" warning in GHC.Conc
852Ian Lynagh <igloo@earth.li>**20090710003530
853 If we fail to communicate with the IO manager then we print a warning
854 using debugErrLn from the ghc-prim package.
855]
856[Fix "warn-unused-do-bind" warnings in System.Posix.Internals
857Ian Lynagh <igloo@earth.li>**20090709164546]
858[Fix "warn-unused-do-bind" warnings where we really do want to ignore the result
859Ian Lynagh <igloo@earth.li>**20090709163912]
860[Add back imports needed on Windows
861Ian Lynagh <igloo@earth.li>**20090707181924]
862[Remove unused imports
863Ian Lynagh <igloo@earth.li>**20090707115810]
864[Remove unused imports from base
865simonpj@microsoft.com**20090706111842
866 Ignore-this: f9b5f353e3bb820f787c56d615b28765
867 
868 These unused imports are detected by the new unused-import code
869 
870]
871[Use the result of writeCharBuf
872Simon Marlow <marlowsd@gmail.com>**20090706133303
873 Ignore-this: 52288dd559bf4c4f313df6197091d935
874   
875 This only makes a difference when CHARBUF_UTF16 is in use, which it
876 normally isn't.  I suspect CHARBUF_UTF16 doesn't currently work for
877 other reasons (CHARBUF_UTF16 was an experiment before I wrote the
878 GHC.IO.Encoding.UTF* codecs), but this patch at least makes it
879 slightly closer to working.
880]
881[Remove some cruft from Data.HashTable
882Ian Lynagh <igloo@earth.li>**20090706181630]
883[Add 'eof' to Text.ParserCombinators.ReadP
884simonpj@microsoft.com**20090706111801
885 Ignore-this: 2aea7b848e00c894761bc4011adaa95d
886 
887 Add a ReadP parser that succeeds at the end of input. Very useful!
888 
889]
890[Don't export CLDouble for GHC; fixes trac #2793
891Ian Lynagh <igloo@earth.li>**20090705155120
892 We never really supported CLDouble (it was a plain old double underneath),
893 and pretending that we do does more harm than good.
894]
895[a byte between 0x80 and 0xBF is illegal immediately (#3341)
896Simon Marlow <marlowsd@gmail.com>**20090702081415
897 Ignore-this: dc19ef59a1a21118d5a7dd38aa2f611c
898]
899[avoid a warning
900Simon Marlow <marlowsd@gmail.com>**20090630084134
901 Ignore-this: c92a45ee216faf01327feae9fe06d6e2
902]
903[Add a wrapper for libiconv.
904Matthias Kilian <kili@outback.escape.de>**20090629183634
905 Ignore-this: 23c6047c0d71b745b495cc223574a47f
906]
907[#include <sys/times.h> if we have it (should fix build problems)
908Simon Marlow <marlowsd@gmail.com>**20090629085351
909 Ignore-this: a35e93b37ca9595c73460243180f4b9d
910]
911[set binary mode for existing FDs on Windows (fixes some GHCi test failures)
912Simon Marlow <marlowsd@gmail.com>**20090626120522
913 Ignore-this: 580cf636e9c77d8427aff6861d089481
914]
915[Move directory-related stuff to the unix package
916Simon Marlow <marlowsd@gmail.com>**20090625120325
917 Ignore-this: b997b3cbce0a46ca87ad825bbdc0a411
918 now that it isn't used on Windows any more.
919]
920[TAG 2009-06-25
921Ian Lynagh <igloo@earth.li>**20090625160056]
922Patch bundle hash:
9230b77198424debf916fb88a2cf49b87038ea1f2cf